GUIA 1] EJEMPLOS PRACTICOS WOW DB Y COMANDOS SQL

A

Anthony

Invited
Hola a todos. Quería comenzar a traerles información que hemos recopilado y que sé que serán de ayuda para aquellos que quieran adentrarse en el mundo de la emulación. Para empezar, les traeré una serie de guías hechas por Hypnos, antiguo desarrollador de Firestorm. El también tiene un canal de YouTube donde sigue publicando videos y haciendo guías que si es posible de alguna manera los publicare también.

Publicado Octubre 2, 2015 Por Hypnos Buenas, tratare de ser lo mas breve posible y explicare los comandos de sql basicos que se suelen usar para trabajar con la bd de wow y cuando se usan. Pondre varios ejemplos bastante practicos

Aclarare antes de nada que cada tabla tiene una clave primaria o unica (a veces puede tener varias claves primarias). Las claves primarias nunca se pueden repetir, no puede haber dos iguales. Por lo que a la hora de ejecutar un comando la forma mas segura es poniendo como condicion esa o esas claves primarias. Suele ser el dato de la primera columna de cada tabla (aunque no siempre es asi)

1- SELECT : se usa para seleccionar o buscar en la base de datos algun dato concreto. Ejemplos:

1.1. SELECT * FROM `creature_template` WHERE `entry`=45; — Te mostrara todos los datos de la criatura con id 45 en la tabla creature_template. 1.2. SELECT * FROM `creature_template` WHERE `entry`= 45 AND `minlevel`=50; — Te mostrara todos los datos de la criatura con id 45 y minlevel 50 en la tabla creature_template. 1 criatura.

1.3. 1.2. SELECT * FROM `creature_template` WHERE `entry`= 45 OR `minlevel`=50; — Te mostrara todos los datos de las criaturas con id 45 y todos los datos de las criaturas con minlevel 50 en la tabla creature_template. Con que cumplan una de las dos condiciones, seran mostradas. Mas de 1 criatura.

1.4. SELECT * FROM `creature_template` WHERE `entry` IN (45,46,47); — Te mostrara todos los datos de las criaturas con id 45,46,47 en creature_template.

1.5. SELECT * FROM `creature_template` WHERE `minlvl`=50; — Mostrara todas las criaturas con minlvl 50.

Ejemplos: 2.1. INSERT INTO `creature_template` (`id`,`modelid`) VALUES (45,1789); — Añade en creature_template la criatura con id 45 y modelid 1789, unicamente 1 criatura.

3- REPLACE INTO : se usa para insertar datos en la bd, con la diferencia del INSERT en que si la clave primaria ya existe reemplazara los datos viejos con los nuevos.

3.2. REPLACE INTO `creature_template` (`id`,`modelid`) VALUES (45,1789),(46,1790); — Añade en creature_template las criaturas con id 45 y 46 y modelid 1789 y 1790, 2 criaturas.

4- DELETE FROM : se usa para borrar datos de la bd. Mucho ojo al usar este comando, podemos hacer un estropicio. Ser muy cuidadosos al usarlo y procurar especificar bien y poner las condiciones necesarias con WHERE, poner varias condiciones si es necesario.

4.2. DELETE FROM `creature_template` WHERE `minlevel`= 50; — Borra todas las criaturas con minlevel 50 (esto ocurre porque minlevel no es una clave primaria)

4.4. 4.3. DELETE FROM `creature_template` WHERE `minlevel`= 50 OR `maxlevel`=55; — Borra todas las criaturas que tienen minlevel 50 o maxlevel 55. Con que cumplan una de las dos condiciones, seran borradas.

5.1. UPDATE `creature_template` SET `modelid`=4545 WHERE `entry`=45; — Modifica el valor de la columna modelid por 4545 para la criatura con entry 45. Solo 1 criatura ya que entry es la clave primaria.

5.2. UPDATE `creature_template` SET `modelid`=4545 WHERE `minlevel`=45; — Modifica el modelid de todas las criaturas que tengan minlevel 45. Ya que minlevel no es clave primaria.

5.3. UPDATE `creature_template` SET `modelid`=4545,`minlevel`=50 WHERE `entry`=45; — Modifica el modelid a 4545 y el minlevel a 50 de la criatura que tenga la entry 45.

6- AND : se usa para hacer mas concreto o especifico el query, ya sea un select,insert,replace,delete o update. Se puede usar con todos los comandos explicados. El AND hace que se tengan que cumplir ambas condiciones (podria haber mas de 2 condiciones si es necesario).

Seguramente hay mas ejemplos practicos (hablo de los mas usados) pero ahora no recuerdo. Espero que con esas rapidas explicaciones y ejemplos os sea util a la hora de hacer vuestros
parches. Porque como suelen decir, las cosas con ejemplos se entienden mejor.

Un saludo y hasta la proxima entrega
 

Tibia Server Lists

#1 FEATURED US Ultron OT 1,531 / 5,000Online EXPStages PROTO8.6 ENGINEUltron OT RANK PTS5.9 +100% VOTES0 #2 FEATURED US Nefera 146 / 0Online EXPx1 PROTO15.20 ENGINECrystal Server RANK PTS5.1 +100% VOTES0 #3 FEATURED ES Deixis 0 / 0Offline EXPStages PROTO1098 ENGINETFS RANK PTS3.7 +100% VOTES1 #4 FEATURED ES Maeli 5 / 150Online EXPx10 PROTO10.98 ENGINETFS 1.4.2 RANK PTS3.7 +100% VOTES0 #5 MX Marlboro War 33 / 300Online EXP999 PROTO8.6 ENGINETFS 0.3.7 RANK PTS5.5 -33% VOTES0 #6 BR Tibinha YurOts 17 / 150Online EXPStages PROTO7.4 ENGINEYurOTS 1.5 RANK PTS5.2 -14% VOTES0 #7 US Halera 2 / 0Online EXPStages PROTO10.98 ENGINETFS 1.4.2 RANK PTS4.9 -83% VOTES0 #8 BR Exordion Legacy 52 / 2,000Online EXPx2 PROTO7.72 ENGINEExordion RANK PTS4.9 +100% VOTES0 #9 PL Lubelski 8 / 1,000Online EXP200 PROTO7.6 ENGINELubelskiOTS 2.56.0 RANK PTS4.6 -15% VOTES0 #10 ES JustRL FreeTC 1530 36 / 250Online EXPx2 PROTO15.30 ENGINECrystal Server RANK PTS4.3 +100% VOTES0 #11 DE DBU Online 0 / 400Online EXP11 PROTO8.6 ENGINETFS 1.0 RANK PTS4.3 +100% VOTES0 #12 PL ReWar 0 / 2,000Online EXPcustom PROTO8.6 ENGINEOther RANK PTS4.3 0% VOTES0 #13 PL Velesta 0 / 1,000Offline EXP20 PROTO8.0 ENGINETFS 1.4.2 RANK PTS4.3 -99% VOTES0 #14 ES Farlia Global 2026 0 / 333Offline EXPx5 PROTO15.25 ENGINEFarliaServ 1.525 RANK PTS3.9 -22% VOTES0 #15 SE MortalisOT Custom 0 / 500Offline EXP100x -1.2x PROTO10.98 ENGINEMortalisOT V1 RANK PTS3.8 +100% VOTES0 #16 US Rommania 0 / 500Online EXPstages, x10 PROTO7.4 ENGINETFS 0.4 RANK PTS3.6 +100% VOTES0 #17 US BerethaOnline 1 / 2,000Online EXPStages PROTO10.98 ENGINETFS RANK PTS3.5 +100% VOTES0
Top