Comandos SQL Básicos: La Guía Definitiva para Principiantes
El lenguaje de consulta estructurado (SQL) es el idioma estándar para interactuar con bases de datos relacionales. Es un lenguaje poderoso que te permite consultar, manipular y administrar datos de forma eficiente. Para empezar a trabajar con SQL, es esencial comprender los comandos básicos que te permitirán realizar las operaciones más comunes.
Este artículo te guiará a través de los comandos SQL esenciales, explicando su funcionalidad y proporcionando ejemplos prácticos. Dominar estos comandos te dará una base sólida para trabajar con SQL y comenzar a realizar consultas complejas.
El Comando SELECT
: Consultando Información
El comando SELECT
es la piedra angular de SQL. Te permite recuperar datos de una o más tablas.
sql
SELECT columna1, columna2, ... FROM nombre_tabla;
SELECT
: especifica la acción de recuperar datos.columna1, columna2, ...
: indica las columnas que quieres consultar.FROM nombre_tabla
: indica la tabla de la cual se extraen los datos.
Ejemplo:
sql
SELECT nombre, apellido FROM clientes;
Este código consultará las columnas nombre
y apellido
de la tabla clientes
.
CREATE TABLE
: Creando Tablas
El comando CREATE TABLE
te permite crear una nueva tabla en tu base de datos.
sql
CREATE TABLE nombre_tabla (
columna1 tipo_dato,
columna2 tipo_dato,
...
);
CREATE TABLE
: especifica la acción de crear una nueva tabla.nombre_tabla
: indica el nombre de la nueva tabla.columna1, columna2, ...
: indica las columnas de la tabla y sus respectivos tipos de datos.
Ejemplo:
sql
CREATE TABLE productos (
id INT PRIMARY KEY,
nombre VARCHAR(255),
precio DECIMAL(10,2)
);
Este código crea una tabla llamada productos
con tres columnas: id
(entero, clave principal), nombre
(cadena de caracteres) y precio
(decimal).
ALTER TABLE
: Modificando Tablas
El comando ALTER TABLE
te permite modificar una tabla existente, como agregar o eliminar columnas, cambiar tipos de datos o modificar restricciones.
«`sql
ALTER TABLE nombretabla
ADD columnanueva tipo_dato;
ALTER TABLE nombretabla
DROP COLUMN columnaa_eliminar;
«`
ALTER TABLE
: especifica la acción de modificar una tabla.nombre_tabla
: indica la tabla que quieres modificar.ADD columna_nueva tipo_dato
: agrega una nueva columna con el tipo de datos especificado.DROP COLUMN columna_a_eliminar
: elimina la columna especificada.
Ejemplo:
sql
ALTER TABLE productos
ADD categoria VARCHAR(255);
Este código agrega una nueva columna llamada categoria
a la tabla productos
.
CHECK
: Imponiendo Restricciones
El comando CHECK
te permite imponer restricciones en los valores de una columna, asegurando la integridad de los datos.
sql
CREATE TABLE nombre_tabla (
columna1 tipo_dato CHECK (condición),
...
);
CHECK (condición)
: especifica la restricción que debe cumplir la columna.
Ejemplo:
sql
CREATE TABLE clientes (
id INT PRIMARY KEY,
nombre VARCHAR(255),
edad INT CHECK (edad >= 18)
);
Este código crea una tabla clientes
donde la columna edad
debe ser mayor o igual a 18.
WHERE
: Filtrando Resultados
El comando WHERE
te permite filtrar los resultados de una consulta, seleccionando solo las filas que cumplen una condición específica.
sql
SELECT columna1, columna2, ... FROM nombre_tabla WHERE condición;
WHERE condición
: especifica la condición que deben cumplir las filas para ser incluidas en los resultados.
Ejemplo:
sql
SELECT nombre, apellido FROM clientes WHERE edad > 25;
Este código consultará los nombres y apellidos de los clientes que tengan más de 25 años.
UPDATE
: Actualizando Datos
El comando UPDATE
te permite modificar los valores de las filas existentes en una tabla.
sql
UPDATE nombre_tabla SET columna1 = valor1, columna2 = valor2, ... WHERE condición;
UPDATE nombre_tabla
: especifica la tabla que quieres actualizar.SET columna1 = valor1, columna2 = valor2, ...
: indica las columnas que quieres actualizar y los nuevos valores.WHERE condición
: especifica la condición que deben cumplir las filas para ser actualizadas.
Ejemplo:
sql
UPDATE productos SET precio = 15.99 WHERE id = 1;
Este código actualiza el precio del producto con ID 1 a 15.99.
GROUP BY
: Agrupando Datos
El comando GROUP BY
te permite agrupar filas que tienen el mismo valor en una columna específica.
sql
SELECT columna1, columna2, ... FROM nombre_tabla WHERE condición GROUP BY columna_de_agrupacion;
GROUP BY columna_de_agrupacion
: indica la columna por la cual se agruparán las filas.
Ejemplo:
sql
SELECT categoria, COUNT(*) AS total_productos FROM productos GROUP BY categoria;
Este código agrupa los productos por categoría y cuenta la cantidad de productos en cada categoría.
HAVING
: Filtrando Resultados Agrupados
El comando HAVING
te permite filtrar los resultados agrupados por GROUP BY
, similar a cómo WHERE
filtra los resultados de una consulta.
sql
SELECT columna1, columna2, ... FROM nombre_tabla WHERE condición GROUP BY columna_de_agrupacion HAVING condición_agrupacion;
HAVING condición_agrupacion
: especifica la condición que deben cumplir los grupos para ser incluidos en los resultados.
Ejemplo:
sql
SELECT categoria, COUNT(*) AS total_productos FROM productos GROUP BY categoria HAVING total_productos > 5;
Este código agrupa los productos por categoría y cuenta la cantidad de productos en cada categoría, pero solo muestra las categorías con más de 5 productos.
AVG()
: Calculando el Promedio
La función AVG()
calcula el promedio de los valores en una columna.
sql
SELECT AVG(columna) FROM nombre_tabla;
AVG(columna)
: calcula el promedio de los valores en la columna especificada.
Ejemplo:
sql
SELECT AVG(precio) FROM productos;
Este código calcula el promedio de los precios de los productos.
AS
: Asignando Alias
El comando AS
te permite asignar un alias a una columna o tabla, lo que facilita la legibilidad de las consultas.
«`sql
SELECT columna AS aliascolumna FROM nombretabla;
SELECT * FROM nombretabla AS aliastabla;
«`
AS alias_columna
: asigna un alias a la columna especificada.AS alias_tabla
: asigna un alias a la tabla especificada.
Ejemplo:
sql
SELECT precio AS precio_producto FROM productos;
Este código consulta la columna precio
de la tabla productos
y la llama precio_producto
.
ORDER BY
: Ordenando Resultados
El comando ORDER BY
te permite ordenar los resultados de una consulta en orden ascendente o descendente.
sql
SELECT columna1, columna2, ... FROM nombre_tabla WHERE condición ORDER BY columna_de_ordenacion [ASC|DESC];
ORDER BY columna_de_ordenacion
: indica la columna por la cual se ordenarán los resultados.ASC
: ordena los resultados en orden ascendente (de menor a mayor).DESC
: ordena los resultados en orden descendente (de mayor a menor).
Ejemplo:
sql
SELECT nombre, apellido FROM clientes ORDER BY apellido ASC;
Este código consulta los nombres y apellidos de los clientes y los ordena en orden ascendente por apellido.
COUNT
: Contando Filas
La función COUNT()
cuenta el número de filas en una tabla o en una columna específica.
«`sql
SELECT COUNT(*) FROM nombre_tabla;
SELECT COUNT(columna) FROM nombre_tabla;
«`
COUNT(*)
: cuenta el número total de filas en la tabla.COUNT(columna)
: cuenta el número de filas que tienen un valor no nulo en la columna especificada.
Ejemplo:
sql
SELECT COUNT(*) FROM productos;
Este código cuenta el número total de productos en la tabla productos
.
DELETE
: Eliminando Datos
El comando DELETE
te permite eliminar filas de una tabla.
sql
DELETE FROM nombre_tabla WHERE condición;
DELETE FROM nombre_tabla
: especifica la tabla de la cual se eliminarán las filas.WHERE condición
: especifica la condición que deben cumplir las filas para ser eliminadas.
Ejemplo:
sql
DELETE FROM clientes WHERE id = 1;
Este código elimina la fila del cliente con ID 1 de la tabla clientes
.
INNER JOIN
: Uniendo Tablas
El comando INNER JOIN
une dos tablas basadas en una columna común, mostrando solo las filas que tienen una coincidencia en ambas tablas.
sql
SELECT columna1, columna2, ... FROM tabla1 INNER JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;
INNER JOIN
: especifica la acción de unir dos tablas.ON tabla1.columna_comun = tabla2.columna_comun
: especifica la condición que debe cumplirse para unir las filas de las dos tablas.
Ejemplo:
sql
SELECT productos.nombre, pedidos.fecha_pedido FROM productos INNER JOIN pedidos ON productos.id = pedidos.id_producto;
Este código une las tablas productos
y pedidos
y muestra el nombre del producto y la fecha del pedido para cada producto que tiene un pedido asociado.
LEFT JOIN
: Unión Izquierda
El comando LEFT JOIN
une dos tablas, mostrando todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha. Si no hay una coincidencia en la tabla derecha, se muestran valores nulos para las columnas de la tabla derecha.
sql
SELECT columna1, columna2, ... FROM tabla1 LEFT JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;
LEFT JOIN
: especifica la acción de unir dos tablas, mostrando todas las filas de la tabla izquierda.
Ejemplo:
sql
SELECT clientes.nombre, pedidos.fecha_pedido FROM clientes LEFT JOIN pedidos ON clientes.id = pedidos.id_cliente;
Este código une las tablas clientes
y pedidos
, mostrando todos los clientes y sus pedidos asociados, si los tienen. Si un cliente no tiene pedidos, se mostrará un valor nulo para la fecha del pedido.
RIGHT JOIN
: Unión Derecha
El comando RIGHT JOIN
une dos tablas, mostrando todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda. Si no hay una coincidencia en la tabla izquierda, se muestran valores nulos para las columnas de la tabla izquierda.
sql
SELECT columna1, columna2, ... FROM tabla1 RIGHT JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;
RIGHT JOIN
: especifica la acción de unir dos tablas, mostrando todas las filas de la tabla derecha.
Ejemplo:
sql
SELECT productos.nombre, pedidos.fecha_pedido FROM productos RIGHT JOIN pedidos ON productos.id = pedidos.id_producto;
Este código une las tablas productos
y pedidos
, mostrando todos los pedidos y los productos asociados, si los tienen. Si un pedido no tiene un producto asociado, se mostrará un valor nulo para el nombre del producto.
FULL OUTER JOIN
: Unión Completa
El comando FULL OUTER JOIN
une dos tablas, mostrando todas las filas de ambas tablas, incluso si no hay una coincidencia en la otra tabla. Si no hay una coincidencia, se muestran valores nulos para las columnas de la tabla que no tiene una coincidencia.
sql
SELECT columna1, columna2, ... FROM tabla1 FULL OUTER JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;
FULL OUTER JOIN
: especifica la acción de unir dos tablas, mostrando todas las filas de ambas tablas.
Ejemplo:
sql
SELECT clientes.nombre, pedidos.fecha_pedido FROM clientes FULL OUTER JOIN pedidos ON clientes.id = pedidos.id_cliente;
Este código une las tablas clientes
y pedidos
, mostrando todos los clientes y sus pedidos asociados, si los tienen. Si un cliente no tiene pedidos, se mostrará un valor nulo para la fecha del pedido. Si un pedido no tiene un cliente asociado, se mostrará un valor nulo para el nombre del cliente.
INSERT
: Insertando Datos
El comando INSERT
te permite insertar nuevas filas en una tabla.
sql
INSERT INTO nombre_tabla (columna1, columna2, ...) VALUES (valor1, valor2, ...);
INSERT INTO nombre_tabla
: especifica la tabla en la que se insertarán las nuevas filas.(columna1, columna2, ...)
: especifica las columnas en las que se insertarán los valores.VALUES (valor1, valor2, ...)
: especifica los valores que se insertarán en las columnas correspondientes.
Ejemplo:
sql
INSERT INTO clientes (nombre, apellido, edad) VALUES ('Juan', 'Pérez', 30);
Este código inserta una nueva fila en la tabla clientes
con los valores ‘Juan’, ‘Pérez’ y 30 para las columnas nombre
, apellido
y edad
, respectivamente.
LIKE
: Buscando Patrones
El operador LIKE
te permite buscar filas que coinciden con un patrón específico.
sql
SELECT columna1, columna2, ... FROM nombre_tabla WHERE columna LIKE patrón;
LIKE patrón
: especifica la condición que debe cumplir la columna para ser incluida en los resultados.
Ejemplo:
sql
SELECT nombre, apellido FROM clientes WHERE nombre LIKE 'J%';
Este código consultará los nombres y apellidos de los clientes cuyo nombre comienza con la letra ‘J’.
Conclusión
Dominar estos comandos básicos de SQL te dará una base sólida para trabajar con bases de datos relacionales. Con la práctica y la experiencia, podrás realizar consultas más complejas y realizar una variedad de operaciones de gestión de datos.
Recuerda que esta es solo una introducción a SQL. Hay muchos otros comandos y funciones disponibles que te permitirán trabajar con bases de datos de formas aún más potentes. Explora la documentación oficial de SQL para obtener una comprensión más profunda del lenguaje y sus posibilidades.