¿Qué es SQL?
SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos relacionales. Permite:
- Definir estructuras (tablas, relaciones)
- Manipular datos (insertar, consultar, actualizar, eliminar)
- Controlar accesos y permisos
Clasificación de SQL
DDL – Data Definition Language
Se encarga de definir y modificar la estructura de la base de datos.
CREATE DATABASE escuela;
CREATE TABLE alumnos (id INT);
ALTER TABLE alumnos ADD nombre VARCHAR(100);
DROP TABLE alumnos;
TRUNCATE TABLE alumnos;
| Comando | Uso |
|---|---|
| CREATE | Crear objetos |
| ALTER | Modificar estructura |
| DROP | Eliminar objetos |
| TRUNCATE | Vaciar tabla |
DML – Data Manipulation Language
Permite trabajar con los datos dentro de las tablas.
SELECT * FROM alumnos;
INSERT INTO alumnos VALUES (1, 'Juan');
UPDATE alumnos SET nombre = 'Pedro' WHERE id = 1;
DELETE FROM alumnos WHERE id = 1;
| Comando | Uso |
|---|---|
| SELECT | Consultar |
| INSERT | Insertar |
| UPDATE | Modificar |
| DELETE | Eliminar |
DCL – Data Control Language
Gestiona permisos y seguridad.
GRANT SELECT ON alumnos TO usuario;
REVOKE SELECT ON alumnos FROM usuario;
TCL – Transaction Control Language
Controla transacciones (cambios agrupados).
COMMIT;
ROLLBACK;
| Comando | Uso |
|---|---|
| COMMIT | Guarda cambios |
| ROLLBACK | Deshace cambios |
Creación de bases de datos
📌 Sintaxis general
CREATE DATABASE nombre_base;
📌 Ejemplo
CREATE DATABASE escuela;
📌 Seleccionar base
USE escuela;
Creación de tablas
📌 Estructura básica
CREATE TABLE nombre_tabla (
campo1 TIPO,
campo2 TIPO,
...
);
📌 Ejemplo completo
CREATE TABLE alumnos (
id INT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
edad INT,
correo VARCHAR(150) UNIQUE,
fecha_registro DATE
);
Restricciones (Constraints)
Las restricciones aseguran la integridad de los datos.
| Restricción | Descripción |
|---|---|
| PRIMARY KEY | Identificador único |
| NOT NULL | No permite valores vacíos |
| UNIQUE | No permite duplicados |
| FOREIGN KEY | Relación entre tablas |
| DEFAULT | Valor por defecto |
Tipos de datos en SQL
🔢 Numéricos
| Tipo | Descripción |
|---|---|
| INT | Enteros |
| BIGINT | Enteros grandes |
| DECIMAL(p,s) | Precisión exacta |
| FLOAT | Aproximados |
🔤 Texto
| Tipo | Descripción |
|---|---|
| VARCHAR(n) | Texto variable |
| CHAR(n) | Texto fijo |
| TEXT | Texto largo |
📅 Fecha y hora
| Tipo | Descripción |
|---|---|
| DATE | Fecha |
| TIME | Hora |
| DATETIME | Fecha + hora |
| TIMESTAMP | Marca de tiempo |
🔘 Booleanos
| Tipo | Descripción |
|---|---|
| BOOLEAN | Verdadero/Falso |
Actividad en clase

Instrucciones
-
Crear una base de datos llamada
tienda -
Crear las tablas:
- productos
- clientes
-
Cada tabla debe tener mínimo 4 campos
Tarea

Instrucciones
-
Diseñar una base de datos de una app a elegir:
- Uber
- Netflix
-
Crear:
- 3 tablas relacionadas
- Definir PK y FK
-
Entregar:
- Script SQL
- Captura del diagrama