MySQL 中的 for 迴圈
在本教程中,我們將學習如何在 MySQL 中使用 for
迴圈。
for
迴圈通常用於查詢特定條件。簡單來說,這些迴圈在 MySQL 中繼續執行,直到滿足特定的預定義條件。
一旦滿足設定條件,正在考慮的 for
迴圈執行將終止。在這個 for
迴圈終止後,我們可以檢查列印在控制檯中或儲存在資料結構中的迴圈結果。
讓我們更多地瞭解這個迴圈的細節和實現。
要在 MySQL 中執行或執行 for
迴圈,必須編寫一個儲存過程。這個過程有時被稱為 MySQL 語句的集合,它們一起編寫以避免重複執行 MySQL 查詢。
在 MySQL 中編寫儲存過程有多種方法,我們將在單獨的教程中瞭解更多資訊。讓我們瞭解如何在 MySQL 的特定資料庫中為 for
迴圈編寫儲存過程。
讓我們建立一個虛擬資料庫。我們可以將此資料庫命名為 boatdb
,它指的是為特定公司準備航行的不同船隻。我們可以使用以下查詢來做到這一點。
CREATE DATABASE boatdb;
一旦我們這樣做,我們可以看到我們的目錄中將有一個名為 boatdb
的新資料庫。
我們現在可以通過啟用它的使用在這個資料庫中執行查詢和過程。我們可以通過以下查詢使用這個新建立的資料庫。
USE boatdb;
這將改變我們當前正在考慮的資料庫。
現在讓我們編寫一個帶有 for
迴圈的儲存過程。特別是,讓我們嘗試使用逗號分隔列印從 -5
到 0
的值。
-- 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
正如我們在上面的過程中看到的,我們有一個變數 x
,最初設定為 -5
。我們在迴圈中的每次迭代中更新 x
的值,並用逗號列印 x
的值以分隔相鄰值。
一旦我們編寫並設定好要使用的過程,我們就可以使用 MySQL 中的 CALL
語句呼叫該過程。可以說明如下。
call for_loop_example();
正如我們在上面的語句中看到的,我們呼叫 for_loop_example()
,我們在 boatdb
資料庫中的儲存過程。
輸出:
str
-5,-4,-3,-2,-1,0,
正如我們之前的目標,我們使用儲存過程在 for
迴圈的幫助下列印了從 -5
到 0
的值。
x
的值。然後生成逗號,因此基於 x > 0
的終止條件,我們在輸出末尾有一個額外的逗號。因此,藉助 MySQL 中的儲存過程,我們可以高效地編寫一個 for
迴圈,該迴圈可以查詢資料並按預期生成有意義的結果。