IFCD0210/Practicas/Practicas_SQL/codigo/INTRO_SQL_comandos_DML.sql
2024-03-11 13:53:37 +01:00

79 lines
2.6 KiB
SQL

-- Principales comandos DML (Data Manipulation Language) se utilizan para manipular los datos en una base de datos.
--SELECT: Se utiliza para recuperar datos de una o más tablas de la base de datos.
SELECT columna1, columna2 FROM tabla WHERE condicion;
--INSERT: Se utiliza para agregar nuevos registros a una tabla.
INSERT INTO tabla (columna1, columna2) VALUES (valor1, valor2);
--UPDATE: Se utiliza para actualizar registros existentes en una tabla. ¡¡¡¡¡¡¡WHERE!!!!!!!
UPDATE tabla SET columna1 = valor1, columna2 = valor2 WHERE condicion;
--DELETE: Se utiliza para eliminar registros de una tabla.
DELETE FROM tabla WHERE condicion;
--REPLACE: En MySQL, REPLACE es similar a INSERT, pero si hay un registro existente con la misma clave primaria o única, se elimina antes de insertar el nuevo registro. Si no hay conflicto, se comporta igual que INSERT.
REPLACE INTO tabla (columna1, columna2) VALUES (valor1, valor2);
--LOAD DATA INFILE: Se utiliza para cargar datos de un archivo CSV o de texto en una tabla de la base de datos.
LOAD DATA INFILE 'archivo.csv' INTO TABLE tabla;
--SELECT
--SELECT DISTINCT solo valores diferentes, no repetidos.
--Operadores WHERE establecer una condición (puede ser múltiple AND OR) y WHERE NOT.
= Igual
<> No igual (en algunas versiones de SQL es !=)
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
BETWEEN Entre un rango de valores
LIKE Buscar un patrón
IN Especifica múltiples posibles valores para una columna
LIMIT establecer un límite de filas
--LIKE para establecer patrones en combinación con WHERE
% Sustituye por cero o más caracteres
_ Sustituye por un sólo carácter
[caracteres] Establece y crea rangos de caracteres a encontrar
[^caracteres] ó [!caracteres] Establece y crea rangos de caracteres a evitar
SELECT *
FROM productos
WHERE precio BETWEEN 50 AND 100; -- Rango entre 50 y 100
SELECT * FROM Clientes
WHERE Ciudad LIKE '%[a-j]' --Que terminen en un rango entre a-j
SELECT *
FROM clientes
WHERE pais IN ('USA', 'Canadá', 'México'); -- Si coinciden con alguno de los valores
SELECT *
FROM clientes
WHERE id IN (SELECT cliente_id FROM pedidos WHERE total > 1000); -- Combinando dos SELECT
SELECT *
FROM productos
LIMIT 5 OFFSET 5; -- Limitidado a 5 registros y descartando los 5 primeros
-- LIMIT 10,5 o esta LIMIT 5 OFFSET 10
--ORDER BY (ASC|DESC)
--Ordenados según orden ascendente de NombreCliente y descendente de Ciudad
SELECT * FROM Clientes
ORDER BY NombreCliente DESC
SELECT * FROM Clientes
ORDER BY NombreCliente ASC, Ciudad DESC