Comandos SQL Básicos: La Guía Definitiva para Principiantes

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 columna
nueva tipo_dato;

ALTER TABLE nombretabla
DROP COLUMN columna
a_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.
LEER:  Unity Learn: Crea tus propios juegos 2D y 3D con Unity

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).
LEER:  CSS: Guía Definitiva de Colores para Diseñadores Web

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.
LEER:  Python Loops: Guía Completa de Bucles While, For y Anidados

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.