mysqlでwhileループ文をどのように使用するのですか?
MySQLでは、指定された条件が満たされなくなるまで、一部のコードを繰り返し実行するためにWHILEループ文を使用することができます。
WHILEループの基本構文は次のとおりです:
WHILE condition DO
statements;
END WHILE;
conditionは論理式であり、statementsは繰り返し実行するコードブロックです。
numbersという表に1から10までの数字を挿入する例を示します、whileループ文を使用したものです。
DELIMITER //
CREATE PROCEDURE insert_numbers()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 10 DO
INSERT INTO numbers (number) VALUES (i);
SET i = i + 1;
END WHILE;
SELECT * FROM numbers;
END //
DELIMITER ;
CALL insert_numbers();
この例では、最初にinsert_numbers()というストアドプロシージャが作成され、その中で変数iが宣言されて1に初期化されます。その後、WHILEループを使用して数字1から10をnumbersテーブルに挿入し、iの値を徐々に増やします。最後に、SELECT文を使用してnumbersテーブルのデータを表示します。
WHILEループを使用する際には、ステートメントをBEGINとENDの間におく必要があり、DELIMITERステートメントを使用して独自の区切り文字を指定することで、ステートメント内のセミコロンとWHILEループのセミコロンが衝突しないようにする必要があります。