Consultas MySQL

1. Select

Usado para recibir un conjunto de registros de una o mas tablas.

SELECT [*][campo1,campo2...] FROM tabla [WHERE condición] [GROUP BY campo] [HAVING condicion] [ORDER BY campo] [LIMIT n]
ClausulaDescripción
ALL | DISTINCT | DISTINCTROW
FROMtabla. Es la tabla de donde se extraen los registros.
WHERECondición lógica. Solo se muestran los registros donde la condición es verdadera.
GROUP BYCampo. ASC | DESC.
HAVINGCondición lógica. Solo se muestran los registros donde la condición es verdadera.
ORDER BYCampo. Campos por los que se ordenara el resultado. ASC | DESC.
LIMITValor. Numero de registros a recuperar.
INTO OUTFILEArchivo de salida.

2.1 Group by

Esta clausula es obligatoria si usas algun tipo de agrupamiento como AVG(), STD(), SUM, MAX(), MIN() y GROUP_CONCAT().

2. Select varias tablas

Cuando los registros deben provenir de mas de una tabla debes usar una union (JOIN). Al unir dos tablas es importante entender cual es la tabla de la izquierda y cual la de la derecha.

SELECT tabla1.campo1[,tabla2.campo1] FROM tabla1 [AS apodo],tabla2 [AS apodo] WHERE tabla1.campo=tabla2.campo]
SELECT tabla1.campo1[,tabla2.campo1] FROM tabla1 [AS apodo] LEFT JOIN tabla2 [AS apodo] ON tabla1.campo=tabla2.campo]
ClausulaDescripción
STRAIGHT_JOIN
INNER JOIN
LEFT [OUTER] JOIN
NATURAL [LEFT [OUTER]] JOIN
RIGHT [OUTER] JOIN
NATURAL [RIGHT [OUTER]] JOIN
a LEFT JOIN b USING (c1,c2,c3)
a LEFT JOIN b ON a.c1=b.c1,a.c2=b.c2,a.c3=b.c3)

3. Insert

INSERT INTO tabla campo1=valor1[,campo2=valor2];
INSERT INTO tabla (campo1,campos2...) VALUES (valor1,valor2...);
INSERT INTO tabla1 SELECT campo1,campo2 FROM tabla2 WHERE condicion];

Luego de operar devuelve el numero de registros afectados. Ver LAST_INSERT_ID()

4. Update

UPDATE tabla SET campo1=valor1[,campo2=valor2] WHERE condición

Luego de operar devuelve el numero de registros afectados.

5. Delete

DELETE FROM tabla WHERE condición

Luego de operar devuelve el numero de registros afectados.

6. Operadores

Tenemos los operadores: =. <>, <, <=, >, >=, >>, <<, <=>, AND, OR y LIKE.

OperadorDescripción
<>Diferente
>>
<<
<=>