Introducción
En esta sección, aprenderás los conceptos fundamentales de SQL (Structured Query Language), el lenguaje estándar para interactuar con bases de datos relacionales como PostgreSQL. Estos conceptos son esenciales para realizar operaciones básicas y avanzadas en PostgreSQL.
Contenido
- Qué es SQL
- Tipos de Sentencias SQL
- Sintaxis Básica de SQL
- Operadores y Funciones Comunes
- Ejemplos Prácticos
- Ejercicios Prácticos
- Qué es SQL
SQL es un lenguaje de programación utilizado para gestionar y manipular bases de datos relacionales. Permite realizar diversas operaciones como la creación de bases de datos y tablas, inserción, actualización, eliminación y consulta de datos.
- Tipos de Sentencias SQL
Las sentencias SQL se pueden clasificar en varias categorías:
-
DDL (Data Definition Language): Define la estructura de la base de datos.
CREATE
: Crea bases de datos y objetos como tablas.ALTER
: Modifica la estructura de una base de datos.DROP
: Elimina bases de datos y objetos.
-
DML (Data Manipulation Language): Manipula los datos dentro de la base de datos.
INSERT
: Inserta datos en una tabla.UPDATE
: Actualiza datos existentes.DELETE
: Elimina datos de una tabla.
-
DQL (Data Query Language): Consulta los datos de la base de datos.
SELECT
: Recupera datos de una o más tablas.
-
DCL (Data Control Language): Controla el acceso a los datos.
GRANT
: Otorga permisos a los usuarios.REVOKE
: Revoca permisos otorgados.
- Sintaxis Básica de SQL
Creación de una Tabla
CREATE TABLE empleados ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), puesto VARCHAR(50), salario DECIMAL(10, 2) );
Inserción de Datos
Consulta de Datos
Actualización de Datos
Eliminación de Datos
- Operadores y Funciones Comunes
Operadores
- Aritméticos:
+
,-
,*
,/
- Comparación:
=
,!=
,>
,<
,>=
,<=
- Lógicos:
AND
,OR
,NOT
Funciones
- Agregación:
COUNT()
,SUM()
,AVG()
,MIN()
,MAX()
- Texto:
UPPER()
,LOWER()
,CONCAT()
- Fecha y Hora:
NOW()
,DATE_PART()
,AGE()
- Ejemplos Prácticos
Ejemplo 1: Crear una Tabla y Insertar Datos
CREATE TABLE productos ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), precio DECIMAL(10, 2) ); INSERT INTO productos (nombre, precio) VALUES ('Laptop', 1200.00); INSERT INTO productos (nombre, precio) VALUES ('Mouse', 25.00);
Ejemplo 2: Consultar Datos
Ejemplo 3: Actualizar Datos
Ejemplo 4: Eliminar Datos
- Ejercicios Prácticos
Ejercicio 1: Crear una Tabla y Insertar Datos
-
Crea una tabla llamada
clientes
con las siguientes columnas:id
(entero, clave primaria, autoincremental)nombre
(cadena de texto, máximo 100 caracteres)email
(cadena de texto, máximo 100 caracteres)
-
Inserta tres registros en la tabla
clientes
.
Solución
CREATE TABLE clientes ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), email VARCHAR(100) ); INSERT INTO clientes (nombre, email) VALUES ('Ana Gómez', '[email protected]'); INSERT INTO clientes (nombre, email) VALUES ('Luis Martínez', '[email protected]'); INSERT INTO clientes (nombre, email) VALUES ('María López', '[email protected]');
Ejercicio 2: Consultar y Actualizar Datos
- Consulta todos los registros de la tabla
clientes
. - Actualiza el email de 'Ana Gómez' a '[email protected]'.
Solución
SELECT * FROM clientes; UPDATE clientes SET email = '[email protected]' WHERE nombre = 'Ana Gómez';
Ejercicio 3: Eliminar Datos
- Elimina el registro de 'Luis Martínez' de la tabla
clientes
.
Solución
Conclusión
En esta sección, hemos cubierto los conceptos básicos de SQL, incluyendo la creación de tablas, inserción, consulta, actualización y eliminación de datos. Estos fundamentos son esenciales para trabajar con PostgreSQL y te preparan para avanzar a operaciones más complejas en los siguientes módulos.
Curso de PostgreSQL
Módulo 1: Introducción a PostgreSQL
Módulo 2: Operaciones Básicas de SQL
- Creando Bases de Datos y Tablas
- Insertando Datos
- Consultando Datos
- Actualizando Datos
- Eliminando Datos
Módulo 3: Consultas Avanzadas de SQL
Módulo 4: Diseño de Bases de Datos y Normalización
Módulo 5: Características Avanzadas de PostgreSQL
Módulo 6: Ajuste de Rendimiento y Optimización
- Optimización de Consultas
- Estrategias de Indexación
- Análisis del Rendimiento de Consultas
- Vacuuming y Mantenimiento
Módulo 7: Seguridad y Gestión de Usuarios
Módulo 8: Trabajando con JSON y Características NoSQL
Módulo 9: Extensiones y Herramientas Avanzadas
- PostGIS para Datos Geoespaciales
- Búsqueda de Texto Completo
- Wrappers de Datos Externos
- PL/pgSQL y Otros Lenguajes Procedurales