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:
- Abre phpMyAdmin (http://localhost/phpmyadmin).
- Crea una base de datos pruebas.
- Ejecuta el CREATE de la tabla productos.
- Prueba cada operación:
- INSERT: Añade un producto.
- SELECT: Lista productos.
- UPDATE: Cambia un precio.
- DELETE: Borra un producto.
- 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:
- 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);
- 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 consultas SELECT:
- Entregable:
- Un archivo de texto o documento con las 5 consultas SQL.
- Opcional: Capturas de pantalla de phpMyAdmin mostrando los resultados de cada consulta.
- 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;
- 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.