Módulo 5: Bases de Datos Relacionales

SQL básico: comandos esencialeS

Lección 24 de 33 del Curso Roadmap Learning Laravel

Duración: 1 hora
Nivel: Principiante (requiere conocimientos de HTML, CSS, JavaScript, PHP básico, y experiencia con MySQL desde el Módulo 4)
Objetivo: Aprender las operaciones SQL fundamentales (CREATE, INSERT, SELECT, UPDATE, DELETE) para crear, manipular, y consultar datos en una base de datos relacional, como preparación para gestionar datos en aplicaciones web.
Materiales necesarios:

  • Computadora con:
    • XAMPP, WAMP, o MAMP (incluye MySQL/MariaDB, descarga gratuita desde sus sitios oficiales).
    • phpMyAdmin (incluido en XAMPP) o un cliente MySQL como MySQL Workbench (descarga gratuita desde mysql.com).
    • Editor de texto (recomendado: VS Code, descarga gratuita desde code.visualstudio.com).
  • Navegador web (Chrome, Firefox, etc.).
  • Alternativa: Entorno online con soporte MySQL (por ejemplo, Repl.it, limitado).
    Contexto: SQL es el lenguaje estándar para interactuar con bases de datos relacionales como MySQL. En el Módulo 4, los estudiantes usaron consultas básicas (INSERT, SELECT) en PHP. Esta lección amplía esas habilidades, cubriendo todas las operaciones esenciales, que son fundamentales para Laravel (por ejemplo, consultas en Eloquent o migraciones).

Introducción a SQL y su importancia (10 minutos)

Explicación:
SQL (Structured Query Language) es un lenguaje para gestionar datos en bases de datos relacionales. Permite crear estructuras, insertar datos, consultarlos, actualizarlos, y eliminarlos.

Conceptos clave:

  • Operaciones básicas:
    • CREATE: Crear tablas o bases de datos.
    • INSERT: Añadir datos a una tabla.
    • SELECT: Consultar datos.
    • UPDATE: Modificar datos existentes.
    • DELETE: Eliminar datos.
  • Uso en aplicaciones:
    • En el Módulo 4, usaste INSERT para guardar estudiantes y SELECT para listarlos.
    • En Laravel, Eloquent traduce estas operaciones a SQL (por ejemplo, Model::create() genera un INSERT).
  • Ventajas:
    • Estandarizado: Funciona en MySQL, PostgreSQL, etc.
    • Eficiente: Permite manipular grandes volúmenes de datos.
    • Integrado con PHP: Usado en el Módulo 4 con MySQLi.

Por qué es importante:

  • SQL es esencial para gestionar datos en aplicaciones web (por ejemplo, tiendas, blogs).
  • Prepara para consultas avanzadas (JOIN, GROUP BY) y para frameworks como Laravel.

Punto clave: Las operaciones SQL básicas son el núcleo de la interacción con bases de datos relacionales.

Actividad rápida (2 minutos):
Escribe en papel una operación SQL que hayas usado en el Módulo 4 y su propósito. Ejemplo:

  • Operación: INSERT INTO estudiantes (nombre, email) VALUES ('Ana', 'ana@correo.com').
  • Propósito: Añadir un estudiante.

Operaciones SQL básicas (25 minutes)

Explicación:
Exploremos cada operación con su sintaxis y ejemplos simples.

1. CREATE: Crear tablas

  • Define la estructura de una tabla (columnas, tipos de datos, claves).
  • Sintaxis:
    CREATE TABLE nombre_tabla (
        columna1 tipo_dato restricciones,
        columna2 tipo_dato restricciones,
        ...
    );
  • Ejemplo:
    CREATE TABLE productos (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nombre VARCHAR(100) NOT NULL,
        precio DECIMAL(10,2) NOT NULL
    );
    • id: Clave primaria, autoincremental.
    • nombre: Texto de hasta 100 caracteres, obligatorio.
    • precio: Número decimal (por ejemplo, 99.99), obligatorio.

2. INSERT: Insertar datos

  • Añade registros a una tabla.
  • Sintaxis:
    INSERT INTO nombre_tabla (columna1, columna2, ...) VALUES (valor1, valor2, ...);
  • Ejemplo:

    INSERT INTO productos (nombre, precio) VALUES ('Laptop', 999.99);

3. SELECT: Consultar datos

  • Recupera datos de una tabla.
  • Sintaxis:
    SELECT columnas FROM nombre_tabla [WHERE condición];
    • *: Todas las columnas.

    • WHERE: Filtra resultados.
  • Ejemplo:
    SELECT * FROM productos;
    SELECT nombre, precio FROM productos WHERE precio > 500;

4. UPDATE: Actualizar datos

  • Modifica registros existentes.
  • Sintaxis:
    UPDATE nombre_tabla SET columna1 = valor1, columna2 = valor2, ... [WHERE condición];
  • Ejemplo:

    UPDATE productos SET precio = 1099.99 WHERE id = 1;

5. DELETE: Eliminar datos

  • Borra registros de una tabla.
  • Sintaxis:
    DELETE FROM nombre_tabla [WHERE condición];
  • Ejemplo:
    DELETE FROM productos WHERE id = 1;

Notas importantes:

  • Precaución: UPDATE y DELETE sin WHERE afectan todos los registros.
  • Integridad: Las claves foráneas (del Módulo 5, Lección 1) pueden restringir DELETE.
  • Pruebas: Usa phpMyAdmin para ejecutar consultas y ver resultados.

Cómo probarlo:

  1. Abre phpMyAdmin (http://localhost/phpmyadmin).
  2. Crea una base de datos pruebas.
  3. Ejecuta el CREATE de la tabla productos.
  4. Prueba cada operación:
    • INSERT: Añade un producto.
    • SELECT: Lista productos.
    • UPDATE: Cambia un precio.
    • DELETE: Borra un producto.
  5. Verifica los resultados en la pestaña “Browse” de phpMyAdmin.

Punto clave: Estas operaciones son la base para manipular datos en cualquier base de datos relacional.

Actividad rápida (3 minutos):
Escribe en papel una consulta SQL para actualizar el precio de un producto. Solución sugerida:

UPDATE productos SET precio = 299.99 WHERE id = 2;

Ejemplo práctico: Insertar 3 productos en una tabla (15 minutes)

Explicación:
Crearemos una tabla productos e insertaremos 3 productos, aplicando las operaciones vistas.

Paso 1: Crear la tabla:

  • En phpMyAdmin, crea la base de datos tienda y ejecuta:
    CREATE TABLE productos (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nombre VARCHAR(100) NOT NULL,
        precio DECIMAL(10,2) NOT NULL
    );

Paso 2: Insertar 3 productos:

  • Ejecuta:
    INSERT INTO productos (nombre, precio) VALUES ('Teléfono', 499.99);
    INSERT INTO productos (nombre, precio) VALUES ('Laptop', 999.99);
    INSERT INTO productos (nombre, precio) VALUES ('Auriculares', 79.99);

Paso 3: Verificar los datos:

  • Consulta:
    SELECT * FROM productos;
  • Resultado esperado:
    +----+-------------+--------+
    | id | nombre      | precio |
    +----+-------------+--------+
    | 1  | Teléfono    | 499.99 |
    | 2  | Laptop      | 999.99 |
    | 3  | Auriculares |  79.99 |
    +----+-------------+--------+

Paso 4: Probar otras operaciones:

  • Actualizar:
    UPDATE productos SET precio = 89.99 WHERE id = 3;
  • Eliminar:
    DELETE FROM productos WHERE id = 1;
  • Consultar nuevamente:
    SELECT * FROM productos;
  • Resultado esperado:
    +----+-------------+--------+
    | id | nombre      | precio |
    +----+-------------+--------+
    | 2  | Laptop      | 999.99 |
    | 3  | Auriculares |  89.99 |
    +----+-------------+--------+

Cómo funciona:

  • CREATE: Define la estructura.
  • INSERT: Añade los 3 productos.
  • SELECT: Muestra los datos.
  • UPDATE y DELETE: Modifican y eliminan registros.

Punto clave: Este ejemplo muestra cómo las operaciones SQL trabajan juntas para gestionar datos, similar a las operaciones en un proyecto PHP del Módulo 4.

Actividad rápida (3 minutos):
Escribe en papel una consulta para eliminar los productos con precio mayor a 500. Solución sugerida:

DELETE FROM productos WHERE precio > 500;

Resumen y preparación para la tarea (10 minutes)

Resumen:

  • SQL básico:
    • CREATE: Define tablas.
    • INSERT: Añade datos.
    • SELECT: Consulta datos.
    • UPDATE: Modifica datos.
    • DELETE: Elimina datos.
  • Ejemplo: Creamos una tabla productos e insertamos 3 productos.
  • SQL es la base para interactuar con MySQL en aplicaciones web, como en el proyecto del Módulo 4.

Preparación para la tarea:
La tarea pide escribir consultas para listar y modificar datos en una base de datos.

  • Estrategia:
    • Usa la tabla productos del ejemplo (o crea una similar).
    • Escribe consultas SELECT para listar datos (por ejemplo, todos los productos o filtrados).
    • Escribe consultas UPDATE y DELETE para modificar datos.
  • Lógica básica:
    • Listar: SELECT * FROM productos WHERE precio < 100;.
    • Modificar: UPDATE productos SET precio = 50 WHERE id = 1;.

Punto clave: Practicar estas consultas refuerza las habilidades para gestionar datos en MySQL.


Tarea práctica: Escribe consultas para listar y modificar datos

Instrucciones:

  1. Usa la tabla productos del ejemplo:
    CREATE TABLE productos (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nombre VARCHAR(100) NOT NULL,
        precio DECIMAL(10,2) NOT NULL
    );
    INSERT INTO productos (nombre, precio) VALUES ('Teléfono', 499.99), ('Laptop', 999.99), ('Auriculares', 79.99);
  2. Escribe 5 consultas SQL:
    • 3 consultas SELECT:
      • Listar todos los productos.
      • Listar productos con precio menor a 500.
      • Listar solo los nombres de los productos.
    • 1 consulta UPDATE:
      • Actualizar el precio de un producto específico (por ejemplo, id = 2).
    • 1 consulta DELETE:
      • Eliminar un producto específico (por ejemplo, id = 3).
  3. Entregable:
    • Un archivo de texto o documento con las 5 consultas SQL.
    • Opcional: Capturas de pantalla de phpMyAdmin mostrando los resultados de cada consulta.
  4. Usa el siguiente ejemplo como guía:
    -- Listar todos los productos
    SELECT * FROM productos;
    
    -- Listar productos con precio menor a 500
    SELECT * FROM productos WHERE precio < 500;
    
    -- Listar nombres de productos
    SELECT nombre FROM productos;
    
    -- Actualizar precio de un producto
    UPDATE productos SET precio = 1099.99 WHERE id = 2;
    
    -- Eliminar un producto
    DELETE FROM productos WHERE id = 3;
  5. Pasos para completar:
    • Paso 1: Crea la base de datos tienda y la tabla productos en phpMyAdmin.
    • Paso 2: Inserta los 3 productos del ejemplo.
    • Paso 3: Escribe las 5 consultas solicitadas.
    • Paso 4: Prueba cada consulta en phpMyAdmin (pestaña “SQL”).
      • Verifica los resultados en la pestaña “Browse”.
    • Paso 5: Entrega las consultas (texto o archivo) y, opcionalmente, capturas de los resultados.

Ejemplo de solución esperada:

  • Consultas:
    SELECT * FROM productos;
    SELECT * FROM productos WHERE precio < 500;
    SELECT nombre FROM productos;
    UPDATE productos SET precio = 549.99 WHERE id = 1;
    DELETE FROM productos WHERE id = 3;
  • Resultados (tras ejecutar):
    • SELECT *: Muestra los 3 productos (o 2 tras el DELETE).
    • SELECT WHERE precio < 500: Muestra “Auriculares” (y “Teléfono” si no se actualizó).
    • SELECT nombre: Lista “Teléfono”, “Laptop”, “Auriculares”.
    • UPDATE: Cambia el precio del producto con id=1.
    • DELETE: Elimina el producto con id=3.

Tiempo estimado: 30-45 minutos (puedes hacerlo después de la lección).
Entregable:

  • Archivo de texto con las 5 consultas SQL.
  • Opcional: Capturas de phpMyAdmin con los resultados.

Consejo:

  • Escribe las consultas en un editor (por ejemplo, VS Code) antes de probarlas.
  • Usa SELECT * FROM productos; después de cada operación para verificar los cambios.
  • Evita ejecutar UPDATE o DELETE sin WHERE para no afectar todos los registros.

© Copyright Cursos Laravel :: 2025 Términos y condiciones