Maison  >  Article  >  base de données  >  Cours MySQL 6 : Contrôle des processus

Cours MySQL 6 : Contrôle des processus

coldplay.xixi
coldplay.xixiavant
2021-03-01 09:10:012412parcourir

Cours MySQL 6 : Contrôle des processus

Recommandations d'apprentissage gratuites : tutoriel vidéo mysql

Répertoire d'articles

  • Structure de branche
    • Fonction SI
    • structure de cas
    • Structure SI
  • Structure de boucle

Le contrôle de flux dans MySQL est similaire à celui d'autres langages de programmation et est également divisé en trois types : 顺序结构, 分支结构 , 循环结构. Fondamentalement, les structures séquentielles utilisées dans les articles précédents (à l'exception de la fonction IF) sont principalement présentées ci-dessous. Les structures de branchement et les structures de boucle sont principalement présentées ci-dessous.

Structure des branches

Fonction IF

Syntaxe : IF(表达式1,表达式2,表达式3)
Description : Si l'expression 1 est vraie, Ensuite, exécutez l'expression 2, sinon exécutez l'expression 3

structure de cas

la structure de cas a deux syntaxes :
Cours MySQL 6 : Contrôle des processus
Caractéristiques :

  • peut être utilisé comme une expression , imbriquée dans d'autres déclarations, et peut être utilisée à l'intérieur de BEGIN-END ou à l'extérieur de BEGIN-END.
  • est utilisé comme une déclaration indépendante et ne peut être placé que dans BEGIN-END.
  • Si ELSE est omis et que tous WHEN ne sont pas satisfaits, null sera renvoyé.
【演示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)$

Structure IF

Syntaxe :
if 条件1 then 语句1;
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)$

Structure de boucle

Il existe trois types de structures de boucle dans MySQL :

Nom Syntaxe Fonctionnalités
名称 语法 特点
while Cours MySQL 6 : Contrôle des processus 先判断后执行
repeat,类似Java中的do-wile语句 Cours MySQL 6 : Contrôle des processus 先执行后判断
loop Cours MySQL 6 : Contrôle des processus 没有条件的死循环
while

Insérer la description de l'image ici Jugez d'abord, puis exécutez
iteraterépétezleave, similaire à l'instruction do-wile en Java Exécuter en premier Post-jugement
boucle
Insérer la description de l'image ici Boucle infinie inconditionnelle

Les mots-clés qui peuvent être utilisés dans le contrôle de boucle sont
(similaire à continuer en Java) et Cours MySQL 6 : Contrôle des processus (similaire à casser en Java)

【演示简单的循环结构】# 案例:批量插入,根据次数插入到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<blockquote>Contrôle de processus mysql appris, essayez de terminer les exercices suivants <p><strong></strong><a href="https://www.php.cn/course/list/51.html" target="_blank"><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<strong></strong>
Plus de recommandations d'apprentissage gratuites associées :

tutoriel mysql (Vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer