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ループのセミコロンが衝突しないようにする必要があります。

bannerAds