SQL o Lenguaje de Consultas Estructurado, es un lenguaje de programación diseñado por IBM, es el más usado para las bases de datos relacionales y se ha convertido básicamente en un estándar. Con SQL puedes crear bases de datos, gestionarlas y realizar consultas. En este artículo veremos unos conceptos básicos y el listado completo de comandos SQL. ¡Comenzamos!
SQL se divide en cuatro sublenguajes según su finalidad, DDL, DCL, DML y DQL.
DDL: En primer lugar, Data Definition Language, o Lenguaje de Definición de Datos, es el lenguaje con el que se definen las estructuras que almacenan los datos. Es decir, se definen las creaciones, modificaciones y eliminaciones de tablas, bases de datos, vistas…
DCL: El Data Control Language, o Lenguaje de Control de Datos permite al administrador controlar los permisos de acceso a los objetos.
DML: Data Manipulation Language, o Lenguaje de Manipulación de Datos. Este es el lenguaje que permite introducir, modificar y borrar datos.
DQL: Finalmente, el Data Query Language o Lenguaje de Consultas de datos, permite al usuario realizar consultas a la base de datos.
Para completar nuestros comandos SQL, podemos hacer uso de los siguientes operadores:
Estas se usan dentro de una sentencia SELECT, se usan en grupo y devuelven un único valor.
Aquí tienes el listado completo de comandos SQL:
SELECT Nombre, Apellido, Salario
FROM Empleados;
SELECT *
FROM Empleados;
SELECT Nombre, Apellido, Salario
INTO EmpleadosCopia
FROM Empleados;
SELECT TOP 50 PERCENT *
FROM Empleados;
SELECT DISTINCT DepartamentoID
FROM Empleados;
SELECT Nombre AS PrimerNombre, Apellido AS SegundoNombre
FROM Empleados AS E;
SELECT nombre, departamento
FROM empleados, departamentos
WHERE empleados.id_dept = departamentos.id;
SELECT *
FROM Empleados
WHERE Salario > 60000;
CREATE TABLE Proyectos (
ProyectoID int NOT NULL,
NombreProyecto varchar(255) NOT NULL,
EmpleadoID int,
FechaInicio date,
CONSTRAINT PK_Proyectos PRIMARY KEY (ProyectoID)
);
DROP TABLE Proyectos;
UPDATE Empleados
SET Salario = Salario * 1.10
WHERE DepartamentoID = 1;
DELETE FROM Empleados
WHERE EmpleadoID = 5;
ALTER TABLE Empleados
ADD FechaContratacion date;
ALTER TABLE Empleados
RENAME TO Personal;
LOCK TABLES Empleados WRITE;
SELECT DepartamentoID, AVG(Salario) AS SalarioPromedio
FROM Empleados
GROUP BY DepartamentoID;
SELECT DepartamentoID, AVG(Salario) AS SalarioPromedio
FROM Empleados
GROUP BY DepartamentoID
HAVING AVG(Salario) > 60000;
SELECT *
FROM Empleados
ORDER BY Salario DESC;
SELECT *
FROM Empleados
ORDER BY Salario DESC
OFFSET 2 ROWS;
SELECT *
FROM Empleados
ORDER BY Salario DESC
OFFSET 2 ROWS
FETCH NEXT 3 ROWS ONLY;
SELECT Nombre, Apellido,
CASE
WHEN Salario > 60000 THEN 'Alta'
WHEN Salario BETWEEN 40000 AND 60000 THEN 'Media'
ELSE 'Baja'
END AS RangoSalario
FROM Empleados;
SELECT *
FROM Empleados
LIMIT 5;
SELECT Nombre, Salario, ROUND(Salario, 2) AS SalarioRedondeado
FROM Empleados;
SELECT E.Nombre, E.Apellido, D.NombreDepartamento
FROM Empleados E
INNER JOIN Departamentos D ON E.DepartamentoID = D.DepartamentoID;
SELECT E.Nombre, E.Apellido, D.NombreDepartamento
FROM Empleados E
LEFT JOIN Departamentos D ON E.DepartamentoID = D.DepartamentoID;
SELECT E.Nombre, E.Apellido, D.NombreDepartamento
FROM Empleados E
RIGHT JOIN Departamentos D ON E.DepartamentoID = D.DepartamentoID;
SELECT E.Nombre, E.Apellido, D.NombreDepartamento
FROM Empleados E
FULL JOIN Departamentos D ON E.DepartamentoID = D.DepartamentoID;
SELECT Nombre, Apellido
FROM Empleados E
WHERE EXISTS (SELECT 1 FROM Departamentos D WHERE D.DepartamentoID = E.DepartamentoID);
GRANT SELECT, INSERT ON Empleados TO 'usuario';
REVOKE SELECT, INSERT ON Empleados FROM 'usuario';
WITH EmpleadosAltos AS (
SELECT Nombre, Apellido, Salario
FROM Empleados
WHERE Salario > 60000
)
SELECT *
FROM EmpleadosAltos;
SAVEPOINT MiPunto;
COMMIT;
ROLLBACK TO MiPunto;
TRUNCATE TABLE Empleados;
SELECT Ciudad FROM Clientes
UNION
SELECT Ciudad FROM Proveedores;
SELECT Ciudad FROM Clientes
UNION ALL
SELECT Ciudad FROM Proveedores;
Empleados
a 1000.ALTER TABLE Empleados AUTO_INCREMENT = 1000;
BACKUP DATABASE NombreBaseDatos
TO DISK = 'C:\backup\NombreBaseDatos.bak';
BEGIN TRANSACTION;
CALL ActualizarSalarios();
¡Listo! Ya tienes los conceptos básicos de SQL y conoces los comandos, por lo que ya estás listo para empezar a trabajar con SQL. Si quieres aprender más sobre SQL te recomendamos el artículo de cómo evitar inyección de SQL en PHP ¡Cuéntanos tu experiencia en comentarios!
En esta guía práctica, te explicamos qué es el presupuesto de rastreo, por qué es… Leer más
¿Alguna vez te has encontrado con un mensaje que te invita a actuar, ya sea… Leer más
Una de las preguntas más comunes entre los desarrolladores web que comienzan a usar JavaScript… Leer más
Descubre qué es y para qué sirve la preimpresión digital para conseguir una buena impresión… Leer más
Ampliamos información para las redes sociales. Descubre cómo gestionar correctamente los consentimientos necesarios en las… Leer más
Michael Bierut es mucho más que un diseñador; es un educador ejemplar, un escritor locuaz… Leer más