¿Qué son los cursores en MySQL?

| Última modificación: 16 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué son los cursores en MySQL y para qué sirven? Si has llegado hasta este artículo probablemente aún no sabes de qué van estas herramientas y cómo pueden ser útiles para el desarrollo de programs de código que involucren el uso de bases de datos. Los cursores, entonces, son herramientas que te ayudarán a cumplir con requerimientos o tareas específicas. Así que, si quieres seguir aprendiendo, no dejes de pasar esta oportunidad y sigue leyendo este artículo hasta el final.

¿Qué son los cursores en MySQL?

Los cursores son un índice virtual que declaramos, generalmente, dentro de un proceso para usarlo en un momento preciso y que nos vuelva un determinado valor. Así pues, el cursor base de datos se encarga de recorrer toda una lista o conjunto de recursos donde hemos declarado la herramienta.

Si aún no te queda muy claro, es posible que lo entiendas a partir del ejercicio práctico que te explicamos en el siguiente apartado.

¿Cómo utilizar los cursores en MySQL?

Para saber cómo utilizar los cursores en MySQL, te traemos un ejercicio práctico, donde podrás ver cómo declarar un cursor, así como ejecutarlo para solucionar requerimientos especiales dentro de tus programas con bases de datos. Este proceso está dividido en dos pasos: el primero es el de declarar el cursor dentro de la función y en el segundo nos encargaremos de ejecutar la función.

Declarar el cursor dentro de la función

En primer lugar, para construir una función debes tener claro cómo realizar el encabezado de una función, pues este te permitirá delimitar una función con otras posibles funciones dentro de un programa. En este caso, deberás tener en cuenta cómo se crea la función de personaje_id. A su vez, tendrás que determinar qué tipo de dato vas a devolver.

Después de ello, puedes empezar a declarar los elementos necesarios para la creación del cursor, que debe ser declarado con la sentencia DECLARE CURSOR_FOR y tiene que añadir las tablas o vistas de datos, de donde se sacarán los datos que los cursores en MySQL deberán recorrer.

Al finalizar el establecimiento de los cursores en MySQL, tendrás que declarar un elemento que te permita localizar todas las excepciones que pueden aparecer dentro de una función.

Por último, vas a tener que establecer la sentencia OPEN para abrir el cursor, FETCH para realizar el proceso y CLOSE para cerrarlo.

Función y declaración del cursor

Como reflejo en forma de código del proceso que te hemos presentado, a continuación está el proceso para declarar la función y el cursor:

USE SPRINGFIELD;

DROP FUNCTION IF EXISTS personaje_id;

DELIMITER $$

CREATE FUNCTION personaje_id (nombre_personaje VARCHAR(255))

RETURNS INT

BEGIN

DECLARE ok VARCHAR (20) DEFAULT FALSE;

DECLARE personajeID INT DEFAULT 0;

DECLARE c1 CURSOR_FOR

SELECT ID_PERSONAJE

FROM VW_PERSONAJES

WHERE DESC_PROFESION = ‘ESTUDIANTE’

AND DESC_PERSONAJE = nombre_personaje;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET ok = TRUE;

OPEN c1;

FETCH c1 INTO personajeID;

CLOSE c1;

RETURN personajeID;

END; $$

DELIMITER;

Ejecutar la función

Una vez que hayas creado la función, así como el cursor, vas a poder ejecutarla y ver cómo funcionan con dos ejemplos de personajes que hemos sacado de una base de datos sobre la serie animada de Los Simpson. Para ello, solo utilizarás la sentencia de SELECT.

SELECT PERSONAJE_ID (‘BART SIMPSON’);

SELECT PERSONAJE_ID (‘LISA SIMPSON’);

El resultado se devolverá en una tabla de datos, característica de MySQL.

PERSONAJE_ID (‘BART SIMPSON’)PERSONAJE_ID (‘LISA SIMPSON’)
53

¿Ahora qué puedes hacer?

Ahora que ya sabes qué son los cursores en MySQL y para que sirven los cursores en sql, también los tipos de cursores y su función, puedes utilizarlos como un índice virtual para realizar tus ejercicios dentro de la realización de bases de datos y la consulta sobre ellos. Ahora bien, este es concepto es solo una mínima parte de lo que puedes aprender si decides inscribirte a nuestra formación intensiva: Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Impulsarás, en muy pocos meses, tu vida profesional y aprenderás con la compañía de grandes expertos que te prepararán para incursionar en el mercado laboral. ¡Pide ahora más información y cambia tu vida!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado