¿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

Actividades

Instrucciones

  1. Crear una base de datos llamada tienda

  2. Crear las tablas:

    • productos
    • clientes
  3. Cada tabla debe tener mínimo 4 campos

Tarea

Actividades

Instrucciones

  1. Diseñar una base de datos de una app a elegir:

    • Uber
    • Netflix
    • WhatsApp
  2. Crear:

    • 3 tablas relacionadas
    • Definir PK y FK
  3. Entregar:

    • Script SQL
    • Captura del diagrama