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!
Índice de contenidos
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!
Desde hace unas semanas, los rumores eran cada vez más fuertes, y ahora ya es… Leer más
El entorno B2B (Business to Business) en España vive una etapa de profunda transformación impulsada… Leer más
Qué es el SEO y por qué es importante para tu empresa. En este artículo… Leer más
El 13 de marzo de 2025, Google anunció el despliegue de su primera actualización central… Leer más
La migración SEO es una operación crítica para una web que fácilmente se puede convertir… Leer más
En el ámbito del SEO, uno de los aspectos clave es la gestión de enlaces… Leer más