[Мануал] Пишем запросы в базу данных.
Описание
На многих серверах администраторы/гмы сталкиваются с разными проблемами из за незнания sql запросов.К примеру - удаление вещи из вендора, смена морфа или смену цены.
Итак что бы создать запрос вам нужно зайти в вашу базу данных (Navicat, Sqlyog, Quice) и открыть консоль.В появившемся окне мы будем писать наши запросы.Так же можно создать SQL файл локально через Notepad++ и в следствии просто загрузить файл в базу.Но как мы знаем в WoW существует 3 базы.В крации я расскажу о них
AUTH - Отвечает за настройку реалма, так же за доступ игроков.
CHARACTERS - Содержит всю информацию о созданных персонажах.
WORLD - Основная база с которой вам нужно будет поработать - Тут вам и все существа мира, все цены, Гм команды, Лут и т.д.
Основные операторы с которыми вы столкнетесь:
SELECT *FROM - Запрос для получении информации о каком нибудь предмете или NPC.
Пример:
use world - Используем базу данных world (Используется в тех случаях, когда вы либо пишете запрос со сменой базы данных, либо когда вы пишете его локально)
Quote
SELECT *FROM `creature_template` WHERE `entry`=1000;
Не забывайте после окончания запроса ставить ; иначе mysql выдаст вам ошибку
INSERT INTO - Запрос для добавления нового Npc или Itema.
Пример:
Quote
INSERT INTO `creature_template` (entry, modelid1, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, Health_mod, Mana_mod, Armor_mod, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, dmg_multiplier, unit_class, unit_flags, type, type_flags, InhabitType, RegenHealth, flags_extra, AiName) VALUES
('399997', '21572', "Test", "", 'Directions', '32300', 71, 71, 1.56, 1.56, 1.56, 35, 35, 3, 1, 1.14286, 1.25, 1, 1, 1, 2, 7, 138936390, 3, 1, 2, 'SmartAI');
Как вы видите до слова VALUES у вас идут названия столбцов, а после - их значения и если здесь допустить ошибку mysql так же выдаст ошибку.
Хоть Запрос кажется большим и не красивым он способен на многое =)
UPDATE - Запрос обновления для чего либо.
Пример: у вашего NPC, ID которого 1000 - размер 1, а вам нужно его увеличить в 2 раза.
Quote
UPDATE `creature_template` SET `scale`=2 WHERE `entry`=1000;
Этим запросом вы изменили значение в графе `scale` у нпс с id 1000. (creature_template - Таблица со всеми NPC игрового мира)
DELETE FROM - По названию можно догадаться что это оператор на удаление чего-либо.
Пример: Вы нечаянно добавили в вендора ШМ и хотите убрать его.Условно - ID npc = xxx, ID ШМ = yyy
Quote
DELETE FROM `npc_vendor` WHERE `entry`=xxx AND `item`=yyy;
(npc_vendor - Таблица содержащая в себе всех продавцов мира - то что они продают, цену и т.д. содержится именно здесь)
REPLACE INTO - Оператор замены(REPLACE INTO = DELETE FROM+INSERT INTO)
Используется не так часто, но иногда бывает очень полезен.
Пример:
Quote
REPLACE INTO `creature_equip_template` (`entry`, `equipentry1`, `equipentry2`, `equipentry3`) VALUES (100001, 30316, 0, 0);
Рекомендуемые комментарии
Комментариев нет