sn3ejk
This account is inactive.
- Joined
- Nov 16, 2011
- Messages
- 2,121
- Solutions
- 1
- Reaction score
- 145
Najczęstsze zapytania SQL do bazy danych, czyli
Frequently Asked Queries
Temat zawiera najczęstsze zapytania SQL do bazy danych, o które proszą użytkownicy forum. Każdy użytkownik, który nie wie jak stworzyć zapytanie do bazy danych (i go nie znalazł w żadnym istniejącym temacie) może stworzyć post z prośbą o napisanie zapytania dla niego.
- Dodanie X punktów premium do każdego istniejącego konta.
SQL:UPDATE `accounts` SET `premium_points` = `premium_points` + X;
- Dodanie X punktów premium do każdego konta, na którym aktualnie zalogowany co najmniej jedna postać.
SQL:UPDATE `accounts` SET `premium_points` = `premium_points` + X WHERE`id`IN (SELECT `account_id` FROM `players` WHERE `online` = 1);
- Ustawienie pozycji wszystkich graczom na X, Y, Z.
SQL:UPDATE `players` SET `pos_x` = X, `pos_y` = Y, `pos_z` = Z;
- Ustawienie miasta wszystkim graczom na X.
SQL:UPDATE `players` SET `town_id` = X;
- Usunięcie przedmiotu o id równym X z gry (postacie, domy, depo).
SQL:DELETE FROM `player_depotitems`, `player_items`, `tile_items` WHERE `itemtype` = X;
- Dodanie X punktów premium za każdego gracza, który ma równy lub większy poziom niż Y.
SQL:UPDATE `accounts` SET `premium_points` = `premium_points` + X WHERE `id` IN (SELECT `account_id` FROM `players` WHERE `level` >= Y GROUP BY `account_id`);
- Usunięcie wszystkich kont oprócz konta, na którym są przykładowe postacie.
SQL:DELETE FROM `accounts` WHERE `accounts`.`id` > 1;
- Usunięcie wszystkich postaci, które mają mniejszy poziom niż X oraz nie logowały się przez ostatnie Y dni.
SQL:DELETE FROM `players` WHERE `level` < X AND `lastlogin` < UNIX_TIMESTAMP() - Y * 24 * 60 * 60;
- Usunięcie pustych kont.
SQL:DELETE FROM `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);
- Haszowanie haseł algorytmem MD5.
SQL:UPDATE `accounts` SET `password` = md5(`password`);
- Resetowanie lossów do domyślnego stanu dla wszystkich postaci.
SQL:UPDATE `players` SET `loss_experience` = '10', `loss_mana` = '10', `loss_skills` = '10', `loss_items`=100, `loss_containers`= 100;
- Dodanie X dni premium do każdego istniejącego konta.
SQL:UPDATE `accounts` SET `premdays` = `premdays`+ X;
- Przywrócenie wszystkich punktów premium, które zostały zakupione przez wszystkich graczy.
SQL:UPDATE `accounts` SET `accounts`.`premium_points` = `accounts`.`premium_points` + (SELECT SUM(`price`) FROM `z_shop_history_item` WHERE `z_shop_history_item`.`from_account` = `accounts`.`id`) + (SELECT SUM(`price`) FROM `z_shop_history_pacc` WHERE `z_shop_history_pacc`.`from_account` = `accounts`.`id`);
Jeśli jakieś zapytanie z listy nie działa, proszę o poinformowanie w tym temacie, ewentualnie pisząc prywatną wiadomość. Będę starał się odświeżać ten temat na bieżąco i dodawać nowe zapytania, które znajdę na forum.
Last edited: