ホームページ >データベース >mysql チュートリアル >MySQL 講義 6: プロセス制御
無料学習の推奨事項: mysql ビデオ チュートリアル
# #記事ディレクトリ
#ブランチ構造ループ構造。基本的には、これまでの記事で使用したシーケンシャル構造(IF関数を除く)を中心に紹介し、分岐構造とループ構造を中心に紹介します。
分岐構造
IF関数
構文:IF(式1, 式2, 式3 ) 説明: 式 1 が true の場合は式 2 を実行し、それ以外の場合は式 3 を実行します。
case 構造case 構造には 2 つの構文があります:
# は式として使用され、他のステートメントにネストされ、BEGIN で使用されます。END## で使用できます。 # と
は独立したステートメントとして使用し、
BEGIN-END にのみ配置できます。
【演示case作为独立的语句】# 创建存储过程,根据传入的成绩,显示等级:90-100显示A 、 80-90显示B、60-80显示C、否则显示DCREATE PROCEDURE test_case(IN score INT)BEGIN CASE WHEN score>=90 AND score=80 THEN SELECT 'B'; WHEN score>=60 THEN SELECT 'C'; ELSE SELECT 'D'; END CASE;END $CALL test_case(95)$IF 構造
elseif 条件 2 then ステートメント 2;
...[else ステートメント n;]
end if;
【演示IF结构】# 根据传入的成绩,显示等级:90-100显示A 、 80-90显示B、60-80显示C、否则显示DCREATE FUNCTION test_if(score INT) RETURNS CHARBEGIN IF score>=90 AND score=80 THEN RETURN 'B'; ELSEIF score>=60 THEN RETURN 'C'; ELSE RETURN 'D'; END IF;END $SELECT test_if(61)$
ループ構造
名前#特徴
##while | ||
---|---|---|
repeat | を実行します。Java の do-wile ステートメントと同様です。最初に実行してから判断します。 | |
ループ | 無条件無限ループ | |
ループ制御で使用できるキーワードは、 | iterate(Java の continue に似ています) および leave | (Java の Break に似ています)【演示简单的循环结构】# 案例:批量插入,根据次数插入到admin表中多条记录.CREATE PROCEDURE pro_while1(IN insertCount INT)BEGIN DECLARE i INT DEFAULT 1; WHILE i20则停止TRUNCATE TABLE admin$DROP PROCEDURE test_while1$CREATE PROCEDURE test_while1(IN insertCount INT)BEGIN DECLARE i INT DEFAULT 1; a:WHILE i=20 THEN LEAVE a; END IF; SET i=i+1; END WHILE a;END $CALL test_while1(100)$--------------------------------------------------------------------------------------------【演示添加了iterate的语句】# 案例:批量插入,根据次数插入到admin表中,直插入偶数次CREATE PROCEDURE test_while2(IN insertCount INT)BEGIN DECLARE i INT DEFAULT 0; a:WHILE i |
<pre class="brush:php;toolbar:false">【习题答案】DROP TABLE IF EXISTS stringcontent;CREATE TABLE stringcontent(
id INT PRIMARY KEY AUTO_INCREMENT,
content VARCHAR(20)
);DELIMITER $CREATE PROCEDURE test_pro1(IN insertCount INT)BEGIN
DECLARE i INT DEFAULT 1;#定义一个循环变量i,表示插入次数
DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';
DECLARE strIndex INT DEFAULT 1;#代表起始索引
DECLARE len INT DEFAULT 1;#代表截取的字符的长度
WHILE i</pre>
その他の関連する無料学習の推奨事項:
mysql チュートリアル
(ビデオ)
以上がMySQL 講義 6: プロセス制御の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。