Creación de procedimientos almacenados para la recuperación de datos de cursos

SQLSQLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderás cómo crear un procedimiento almacenado en MySQL para recuperar los cursos con créditos mayores a 3. Este proyecto te ayudará a entender los conceptos básicos de trabajo con procedimientos almacenados en un sistema de gestión de bases de datos.

👀 Vista previa

MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | título                     | dept_name  | créditos |
+-----------+----------------------------+------------+---------+
| BIO-101   | Introducción a la Biología | Biología   |       4 |
| BIO-301   | Genética                   | Biología   |       4 |
| CS-101    | Introducción a la Ciencia de la Computación | Ciencias de la Computación |       4 |
| CS-190    | Diseño de Juegos            | Ciencias de la Computación |       4 |
| PHY-101   | Principios Físicos         | Física     |       4 |
+-----------+----------------------------+------------+---------+
5 filas en set (0.000 sec)

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo acceder a MySQL utilizando el comando sudo sin contraseña
  • Cómo importar datos en la base de datos MySQL
  • Cómo crear un procedimiento almacenado para recuperar datos específicos de una tabla
  • Cómo probar el procedimiento almacenado para asegurarse de que funcione como se espera

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender el propósito y los beneficios de utilizar procedimientos almacenados en una base de datos
  • Crear tus propios procedimientos almacenados para realizar tareas específicas de recuperación de datos
  • Solucionar problemas y probar procedimientos almacenados para asegurarte de que funcionen correctamente
  • Aplicar los conocimientos adquiridos en este proyecto para construir aplicaciones basadas en bases de datos más complejas

Acceder a MySQL e importar la base de datos

En este paso, aprenderás cómo acceder a MySQL utilizando el comando sudo sin ninguna contraseña e importar los datos de /home/labex/project/edusys.sql a MySQL.

  1. Iniciar el servicio de MySQL:
sudo service mysql start
  1. Acceder a MySQL utilizando el comando sudo:
sudo mysql
  1. Importar los datos de /home/labex/project/edusys.sql a MySQL y cambiar a la base de datos edusys:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;

Crear el procedimiento almacenado getCourses

En este paso, crearás un procedimiento almacenado llamado getCourses que recupera los cursos de la tabla course donde el valor del campo credits es mayor que 3.

  1. Abre el archivo getCourses.sql.
  2. Agrega el siguiente código al archivo getCourses.sql:
-- Creando el procedimiento almacenado getCourses
DELIMITER //

CREATE PROCEDURE getCourses()
BEGIN
-- Recuperar cursos de la tabla course donde el campo credits es mayor que 3
SELECT course_id, title, dept_name, credits
FROM course
WHERE credits > 3;
END //

DELIMITER ;
  1. Guarda y cierra el archivo.

Probar el procedimiento almacenado getCourses

En este paso, probarás el procedimiento almacenado getCourses para asegurarte de que funcione como se espera.

  1. Ejecuta el script getCourses.sql en MySQL:
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
  1. Llama al procedimiento almacenado getCourses:
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | título                     | dept_name  | créditos |
+-----------+----------------------------+------------+---------+
| BIO-101   | Introducción a la Biología | Biología   |       4 |
| BIO-301   | Genética                   | Biología   |       4 |
| CS-101    | Introducción a la Ciencia de la Computación | Ciencias de la Computación |       4 |
| CS-190    | Diseño de Juegos            | Ciencias de la Computación |       4 |
| PHY-101   | Principios Físicos         | Física     |       4 |
+-----------+----------------------------+------------+---------+
5 filas en set (0.000 sec)

La salida muestra que el procedimiento almacenado getCourses está funcionando como se espera, recuperando todos los cursos con créditos mayores a 3.

✨ Revisar Solución y Practicar

Resumen

¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.