ホームページ データベース mysql チュートリアル While、Loop、Repeat という 3 つのループ ステートメントの類似点と相違点は何ですか?

While、Loop、Repeat という 3 つのループ ステートメントの類似点と相違点は何ですか?

Feb 01, 2021 am 10:44 AM
loop mysql while

同じ点: 単独では使用できません。主にストアド プロシージャと関数 FUNCTION で使用されます。違い: WHILE は最初に判断してから実行するため、条件が満たされた場合にのみ実行されます。 REPEAT と LOOP は最初に実行され、その後判定され、条件が満たされるとループが終了します。条件が false の場合、REPEAT も 1 回実行できますが、他の 2 つのステートメントは実行できません。

While、Loop、Repeat という 3 つのループ ステートメントの類似点と相違点は何ですか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

1. MySQL ループの概要

MySQL には WHILE、REPEAT、LOOP という 3 種類のループがあります ( goto) もあります。これは単独では使用できません。主にストアド プロシージャ PROCEDURE および関数 FUNCTION で使用されます。

2. WHILE ループ

1. 構文: WHILE condition DO doSomething END WHILE ;

2. 説明: 条件条件が満たされた場合はループ本体の内容が実行され、満たされなかった場合はループが終了します。 (例: 2>1、満足、1--まず判断してから実行します。

3. 例: while ループ ストアド プロシージャ pro_while

DROP PROCEDURE IF EXISTS pro_while ;
CREATE PROCEDURE pro_while()
BEGIN
	 DECLARE  sum INT DEFAULT 0 ;
	 WHILE sum < 100 DO
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,''),CONCAT('while',sum) , sum);
		SET sum = sum + 1;
   	END WHILE ;
END;
ログイン後にコピー

4 を作成します。ストアド プロシージャを呼び出します: CALL pro_while ();

関連する推奨事項「mysql ビデオ チュートリアル

3. REPEAT ループ

1. 構文: REPEAT doSomething UNTIL condition END REPEAT ;

2. 説明: doSomething は、最初に関連する操作を実行し、次に条件が満たされるかどうかを判断します。それで、ループを終了します。 (WHILE ループとは逆) ---最初に実行し、後で判断します。

3. 例: 繰り返しループ関数の作成 fun_repeat

DROP FUNCTION IF EXISTS fun_repeat ;
CREATE FUNCTION fun_repeat() RETURNS INT
BEGIN
	DECLARE  sum INT DEFAULT 1000 ;
		REPEAT 
			INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
			VALUES (CONCAT(sum,''),CONCAT('repeat',sum) , sum);
			SET sum = sum + 1;	
		UNTIL sum > 1100 END REPEAT ; -- 满足条件结束循环
	RETURN 1;
END;
ログイン後にコピー

4. 実行関数: SELECT fun_repeat();

4. LOOP ループ

1. 構文:

loop_name : LOOP
    IF condition THEN
        LEAVE loop_name ;
    END IF;
    doSomething
END LOOP;
ログイン後にコピー

2. 説明:

  • loop_name はループ名です。カスタマイズされています。キーワードは使用できません。
    • 関連する操作を実行します。
    • 条件 条件が満たされると、ループが終了します。 --- まず判断し、それから実行します。

3. 例: ループ ループ ストアド プロシージャ pro_loop

DROP PROCEDURE IF EXISTS pro_loop ;
CREATE PROCEDURE pro_loop()
BEGIN
	DECLARE sum int DEFAULT 10000 ;
	loop_sums : LOOP -- 【开始】loop 名字,自定义
		IF sum > 10100 THEN
			LEAVE loop_sums ; -- 满足条件,则结束循环
		END IF; 
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,''),CONCAT('loop',sum) , sum);
		SET sum = sum + 1;	
	END LOOP ;  -- 【结束】
END ;
ログイン後にコピー

4 を作成します。ストアド プロシージャを呼び出します: CALL pro_loop();

##5. 概要

1. ループ中に、最初に判断してから実行します。条件が満たされると実行され、ループが実行されます。

2. REPEAT ループ、

最初に実行してから判断します。 条件が満たされた場合、条件は実行されず、ループは終了します。

3. LOOP ループ、最初に実行してから判断します。条件が満たされた場合は実行されず、ループが終了します。

4. 条件が false の場合、Java の

do {} while (condition); ループと同様に、REPEAT ループを 1 回実行することもできます; while WHILE ループと LOOP ループ実行することはできません。

コンピューター プログラミングの詳細については、

プログラミング入門をご覧ください。 !

以上がWhile、Loop、Repeat という 3 つのループ ステートメントの類似点と相違点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのビッグデータ構造処理スキル PHPのビッグデータ構造処理スキル May 08, 2024 am 10:24 AM

PHPのビッグデータ構造処理スキル

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? May 05, 2024 am 09:06 AM

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP 配列ページングのパフォーマンス最適化戦略 PHP 配列ページングのパフォーマンス最適化戦略 May 02, 2024 am 09:27 AM

PHP 配列ページングのパフォーマンス最適化戦略

See all articles