Está en la página 1de 6

CONSULTAS MYSQL

Consultas básicas

 SELECT
o Devuelve un conjunto de registros de una o varias tablas.

o La sintaxis básica es:


SELECT [columnas]
FROM [tablas]
[WHERE condiciones]
[ORDER BY columna [ASC|DESC]]
 INSERT
o Inserta un nuevo registro en una tabla.

o La sintaxis básica es:


INSERT INTO [tabla] ([columnas]) VALUES ([valores])
 UPDATE
o Actualiza un registro existente en una tabla.

o La sintaxis básica es:


UPDATE [tabla]
SET [columna] = [valor]
[WHERE condiciones]
 DELETE
o Elimina un registro existente de una tabla.

o La sintaxis básica es:


DELETE FROM [tabla]
[WHERE condiciones]
Consultas avanzadas
 JOIN
o Combina los resultados de dos o más tablas.

o Hay varios tipos de JOIN, los más comunes son:

 INNER JOIN: Devuelve los registros que coinciden en


ambas tablas.
 OUTER JOIN: Devuelve todos los registros de una tabla,
incluso si no hay coincidencias en la otra tabla.
 LEFT JOIN: Devuelve todos los registros de la tabla
izquierda, incluso si no hay coincidencias en la tabla
derecha.

1
CONSULTAS MYSQL

 RIGHT JOIN: Devuelve todos los registros de la tabla


derecha, incluso si no hay coincidencias en la tabla
izquierda.
 GROUP BY
o Agrupa los resultados de una consulta por una o varias columnas.

o La sintaxis básica es:


SELECT [columnas]
FROM [tablas]
GROUP BY [columna]
[ORDER BY columna [ASC|DESC]]
 HAVING
o Filtra los resultados de una consulta agrupada.

o La sintaxis básica es:


SELECT [columnas]
FROM [tablas]
GROUP BY [columna]
HAVING [condición]
 UNION
o Combina los resultados de dos o más consultas.

o La sintaxis básica es:


SELECT [columnas]
FROM [tablas]
UNION [ALL|DISTINCT]
SELECT [columnas]
FROM [tablas]
Ejemplos
# Consultar todos los registros de la tabla `usuarios`

SELECT *
FROM usuarios;

# Consultar el nombre y el apellido de todos los usuarios

SELECT nombre, apellido


FROM usuarios;

# Insertar un nuevo usuario

INSERT INTO usuarios (nombre, apellido, email)


VALUES ('Juan', 'Pérez', 'juan.perez@example.com');

# Actualizar el email de un usuario

2
CONSULTAS MYSQL

UPDATE usuarios
SET email = 'juan.perez@gmail.com'
WHERE id = 1;

# Eliminar un usuario

DELETE FROM usuarios


WHERE id = 1;

# Combinar los resultados de las tablas `usuarios` y `pedidos`

SELECT usuarios.nombre, usuarios.apellido, pedidos.fecha


FROM usuarios
INNER JOIN pedidos
ON usuarios.id = pedidos.usuario_id;

# Agrupa los registros de la tabla `productos` por categoría

SELECT categoria, COUNT(*) AS cantidad


FROM productos
GROUP BY categoria;

# Filtra los resultados de una consulta agrupada

SELECT categoria, COUNT(*) AS cantidad


FROM productos
GROUP BY categoria
HAVING cantidad > 10;

# Combina los resultados de dos consultas

SELECT usuarios.nombre, usuarios.apellido


FROM usuarios
UNION
SELECT clientes.nombre, clientes.apellido
FROM clientes;

Claro que sí, aquí tienes algunos comandos avanzados de MySQL:

SUBQUERY
 Una subconsulta es una consulta que se utiliza dentro de otra consulta.
 Se utiliza para realizar operaciones complejas que no se pueden realizar
con una sola consulta.

 La sintaxis básica es:


SELECT [columnas]
FROM [tabla]
WHERE [condición]

3
CONSULTAS MYSQL

[IN|NOT IN] (subconsulta);


 Ejemplo:
# Consultar los nombres de los usuarios que tienen un pedido
pendiente

SELECT nombre
FROM usuarios
WHERE id IN (
SELECT usuario_id
FROM pedidos
WHERE estado = 'pendiente'
);
EXISTS
 La cláusula EXISTS se utiliza para comprobar si existe al menos un
registro que cumpla con una condición.
 La sintaxis básica es:

SELECT [columnas]
FROM [tabla]
WHERE EXISTS (subconsulta);
 Ejemplo:
# Consultar los nombres de los usuarios que tienen al menos un
pedido

SELECT nombre
FROM usuarios
WHERE EXISTS (
SELECT *
FROM pedidos
WHERE usuario_id = usuarios.id
);
CASE
 La cláusula CASE se utiliza para realizar una comparación condicional.
 La sintaxis básica es:
CASE [columna]
WHEN [valor] THEN [valor]
WHEN [valor] THEN [valor]
...
ELSE [valor]
END;
 Ejemplo:
# Consultar el estado de un pedido en función de su fecha

SELECT
pedido_id,
fecha,
CASE

4
CONSULTAS MYSQL

WHEN fecha > NOW() THEN 'En curso'


WHEN fecha < NOW() AND fecha > DATE_SUB(NOW(), INTERVAL 1
DAY) THEN 'Pendiente'
ELSE 'Entregado'
END AS estado
FROM pedidos;
LIKE
 El operador LIKE se utiliza para realizar búsquedas de patrones.
 El patrón puede ser una cadena de caracteres, un símbolo comodín o
una combinación de ambos.

 Los símbolos comodines son:

o %: Coincide con cualquier cadena de caracteres.


o _: Coincide con cualquier carácter individual.
 Ejemplo:
# Consultar los usuarios cuyo nombre empieza por "Juan"

SELECT *
FROM usuarios
WHERE nombre LIKE 'Juan%';
REGEXP
 La función REGEXP se utiliza para realizar búsquedas de patrones más
complejas que el operador LIKE.
 La sintaxis básica es:

SELECT [columnas]
FROM [tabla]
WHERE [columna] REGEXP [patron];
 Ejemplo:
# Consultar los usuarios cuyo nombre contiene al menos una vocal

SELECT *
FROM usuarios
WHERE nombre REGEXP '[aeiou]';
GROUP_CONCAT
 La función GROUP_CONCAT se utiliza para concatenar los valores de
una columna en una sola cadena.
 La sintaxis básica es:

GROUP_CONCAT([columna], [separador]);
 Ejemplo:
# Consultar los nombres de los usuarios separados por comas

SELECT GROUP_CONCAT(nombre, ',') AS nombres

5
CONSULTAS MYSQL

FROM usuarios;
DISTINCT
 La palabra clave DISTINCT se utiliza para eliminar los registros
duplicados de los resultados de una consulta.
 La sintaxis básica es:

SELECT DISTINCT [columnas]


FROM [tabla];
 Ejemplo:
# Consultar los nombres de los usuarios sin duplicados

SELECT DISTINCT nombre


FROM usuarios;

También podría gustarte