Bucle For en MySQL
En este tutorial, aprenderemos a usar el bucle for
en MySQL.
Un bucle for
se usa generalmente para consultar a través de una condición particular. En palabras más simples, estos bucles continúan ejecutándose en MySQL hasta que se cumpla una condición predefinida particular.
Una vez que se cumple la condición establecida, la ejecución del bucle for
en consideración finaliza. Al finalizar este bucle for
, podemos comprobar los resultados del bucle impresos en la consola o almacenados en una estructura de datos.
Comprendamos más sobre los detalles y la implementación de este bucle.
Para ejecutar o ejecutar un bucle for
en MySQL, se debe escribir un procedimiento almacenado. Este procedimiento a veces se conoce como una colección de sentencias de MySQL escritas juntas para evitar reescribir las consultas de MySQL para ejecutarlas repetidamente.
Hay varias formas de escribir un procedimiento almacenado en MySQL, sobre las que aprenderemos más en un tutorial separado. Comprendamos cómo escribir un procedimiento almacenado para el bucle for
en una base de datos particular en MySQL.
Vamos a crear una base de datos ficticia. A esta base de datos la podemos denominar boatdb
, que hace referencia a los diferentes barcos puestos a navegar para una determinada empresa. Podemos hacer esto usando la siguiente consulta.
CREATE DATABASE boatdb;
Una vez que hagamos esto, podemos ver que tendremos una nueva base de datos llamada boatdb
en nuestro directorio.
Nota: dicha base de datos solo se creará si aún no existe en el servidor MySQL.
Ahora podemos ejecutar consultas y procedimientos en esta base de datos al habilitar su uso. Podemos usar esta base de datos recién creada con la siguiente consulta.
USE boatdb;
Esto cambiaría nuestra base de datos actual bajo consideración.
Ahora escribamos un procedimiento almacenado con un bucle for
. En particular, intentemos imprimir valores de -5
a 0
con separación de comas.
-- Start of our procedure
delimiter //
CREATE procedure boatdb.for_loop_example()
wholeblock:BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = -5;
SET str = '';
loop_label: LOOP
IF x > 0 THEN
LEAVE loop_label;
END IF;
SET str = CONCAT(str,x,',');
SET x = x + 1;
ITERATE loop_label;
END LOOP;
SELECT str;
END//
-- End of Procedure
Como podemos ver en el procedimiento anterior, tenemos una variable x
, inicialmente establecida en -5
. Actualizamos el valor de x
con cada iteración en nuestro bucle e imprimimos el valor de x
con una coma para separar los valores vecinos.
Una vez que tenemos el procedimiento escrito y configurado para usar, podemos llamar a este procedimiento usando la instrucción CALL
en MySQL. Se puede ilustrar de la siguiente manera.
call for_loop_example();
Como podemos ver en la declaración anterior, llamamos a for_loop_example()
, nuestro procedimiento almacenado en la base de datos boatdb
.
Producción :
str
-5,-4,-3,-2,-1,0,
Como habíamos apuntado antes, tenemos nuestros valores que van desde -5
a 0
impresos con la ayuda del bucle for
usando el procedimiento almacenado.
Nota: Tenemos una coma al final de la salida ya que hemos diseñado nuestro bucle de modo que el valor de x
se imprima primero. Luego se genera la coma, y así, en base a la condición de terminación de que x > 0
, tenemos una coma adicional al final de nuestra salida.
Por lo tanto, con la ayuda de un procedimiento almacenado en MySQL, podemos escribir de manera eficiente un bucle for
que puede consultar datos y generar resultados significativos como se esperaba.
Artículo relacionado - MySQL Query
- Calcular porcentaje en MySQL
- Dónde vs Tener en MySQL
- Ordenar datos MySQL en orden alfabético
- Habilitar registro de consulta lenta en MySQL
- Actualizar tabla desde otra tabla en MySQL
- Seleccione el registro más reciente en MySQL