GUIA 1] EJEMPLOS PRACTICOS WOW DB Y COMANDOS SQL

A

Anthony

Invitado
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
 
Arriba