[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Пишем запросы в базу данных.
Вторник, 30.09.2014, 13:28 | Сообщение # 1

Ранг
Центурион
Сообщений:
1124
Статус:
Награды:
473
На многих серверах администраторы/гмы сталкиваются с разными проблемами из за незнания sql запросов.К примеру - удаление вещи из вендора, смена морфа или смену цены. И люди делают это в ручную, но как мы знаем, после рестарта все слетает. В этой теме я раскрою суть основных команд для работы в базе данных, так же научу синтаксису этих самых команд. 

Итак что бы создать запрос вам нужно зайти в вашу базу данных (Navicat, Sqlyog, Quice) и открыть консоль.В появившемся окне мы будем писать наши запросы.Так же можно создать SQL файл локально через Notepad++ и в следствии просто загрузить файл в базу.Но как мы знаем в WoW существует 3 базы.В крации я расскажу о них
 

AUTH - Отвечает за настройку реалма, так же за доступ игроков. 
CHARACTERS - Содержит всю информацию о созданных персонажах. 
WORLD - Основная база с которой вам нужно будет поработать - Тут вам и все существа мира, все цены, Гм команды, Лут и т.д. 
Основные операторы с которыми вы столкнетесь: 
SELECT *FROM - Запрос для получении информации о каком нибудь предмете или NPC. 
Пример: 
use world - Используем базу данных world (Используется в тех случаях, когда вы либо пишете запрос со сменой базы данных, либо когда вы пишете его локально) 
SELECT *FROM `creature_template` WHERE `entry`=1000; 
Не забывайте после окончания запроса ставить ; иначе mysql выдаст вам ошибку 
INSERT INTO - Запрос для добавления нового Npc или Itema. 

Пример: 
Цитата
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 раза. 
UPDATE `creature_template` SET `scale`=2 WHERE `entry`=1000; 
Этим запросом вы изменили значение в графе `scale` у нпс с id 1000. (creature_template - Таблица со всеми NPC игрового мира) 
DELETE FROM - По названию можно догадаться что это оператор на удаление чего-либо. 
Пример: Вы нечаянно добавили в вендора ШМ и хотите убрать его.Условно - ID npc = xxx, ID ШМ = yyy 
DELETE FROM `npc_vendor` WHERE `entry`=xxx AND `item`=yyy; (npc_vendor - Таблица содержащая в себе всех продавцов мира - то что они продают, цену и т.д. содержится именно здесь) 
REPLACE INTO - Оператор замены(REPLACE INTO = DELETE FROM+INSERT INTO) 
Используется не так часто, но иногда бывает очень полезен. 
пример 
REPLACE INTO `creature_equip_template` (`entry`, `equipentry1`, `equipentry2`, `equipentry3`) VALUES (100001, 30316, 0, 0); 
  • Страница 1 из 1
  • 1
Поиск:


immortals
Наверх

copyright 2024 immortals сообщество людей и Warcraft

Мобильная версияЭтот сайт защищен «Site Guard» Мы в Контакте
Les immortals ©2013- 2024.