MySQL IF 语句

2025年3月17日 | 阅读 3 分钟

IF 语句用于存储程序中,它实现了 MySQL 中的基本条件构造。根据某个条件,它允许我们执行一组 SQL 语句。它返回 True、False 或 NULL 三个值之一。

我们可以通过三种方式使用此语句:IF-THEN、IF-THEN-ELSE、IF-THEN-ELSEIF-ELSE 子句,并以 END-IF 结束。让我们详细了解这些语句。

IF-THEN 语句

此语句根据特定条件或表达式执行一组 SQL 查询。IF-THEN 语句的语法如下:

在上述语法中,我们必须为执行代码指定一个条件。如果语句评估为真,它将执行 IF-THEN 和 END-IF 之间的语句。否则,它将执行 END-IF 后面的语句。

示例

IF...ENDIF 块与存储程序一起执行,并以分号结束,如以下示例所示。

接下来,取两个变量并如下设置它们的值:

现在,调用存储过程函数以检查输出。

我们将得到以下输出

MySQL IF Statement

IF-THEN-ELSE 语句

如果当 IF 块中指定的条件不评估为真时,我们想要执行其他语句,则可以使用此语句。IF-THEN-ELSE 语句的语法如下:

在上述语法中,我们必须为执行代码指定一个条件。如果语句评估为真,它将执行 IF-THEN 和 ELSE 之间的语句。否则,它将执行 ELSE 和 END-IF 后面的语句。

让我们修改上面的 myResult() 存储过程。所以,首先使用以下命令删除 myResult() 存储过程:

接下来,编写新的代码,如下所示:

接下来,创建< strong>两个变量并如下设置它们的值:

现在,调用存储过程函数以获取输出。

它将提供以下输出

MySQL IF Statement

IF-THEN-ELSEIF-ELSE 语句

如果我们要根据多个条件执行语句,则可以使用此语句。IF-THEN-ELSE 语句的语法如下:

在上述语法中,如果条件变为真,它将执行 IF-THEN 分支。否则,它将评估 elseif-condition。当 elseif-condition 变为真时,它将执行 elseif-statement。如果此条件也为假,它将评估下一个 elseif-condition。因此,这里我们将评估多个 elseif-condition,如果 IF 和 ELSE-IF 中的任何条件都不变为真,它将执行 ELSE 分支的语句。

让我们修改上面的 myResult() 存储过程。所以,首先使用以下命令删除 myResult() 存储过程:

接下来,编写新的代码,如下所示:

接下来,创建两个变量并如下设置它们的值:

现在,调用存储过程函数以获取输出。

它将提供以下输出

MySQL IF Statement


下一主题MySQL AND 条件