找到 4379 篇文章 关于 MySQL
99 次查看
我们也可以使用 IN() 函数来比较行构造器。请考虑以下示例以使其更清晰 -mysql> Select (10,2) IN ((5,10),(10,2),(2,10),(100,100)); +--------------------------------------------+ | (10,2) IN ((5,10),(10,2),(2,10),(100,100)) | +--------------------------------------------+ | 1 | +--------------------------------------------+ 1 row in set (0.00 sec) mysql> Select (10,2) IN ((5,10),(2,10),(100,100)); +-------------------------------------+ | (10,2) IN ((5,10),(2,10),(100,100)) | +-------------------------------------+ | 0 | +-------------------------------------+ 1 row in set (0.00 sec)
327 次查看
每当在 MySQL 存储过程中发生异常时,通过抛出适当的错误消息来处理它非常重要。假设,如果我们不处理异常,则有可能导致应用程序在存储过程中的某个特定异常处失败。MySQL 提供了一个处理程序来处理存储过程中的异常。以下是可以在存储过程中使用的四种 MySQL 处理程序 -DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'got an error';上述处理程序将抛出错误消息并继续执行。DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error=1;上述... 阅读更多
516 次查看
通过抛出适当的错误消息来处理错误非常重要。MySQL 提供了一个处理程序来处理错误。我们可以使用以下语法声明处理程序 -处理程序语法DECLARE handler_action FOR condition_value statement;上述语法表明我们需要使用 DECLARE HANDLER 语句来声明处理程序。如果条件的值与 condition_value 匹配,则 MySQL 将执行该语句并根据操作继续或退出当前代码块。以下是上述语法中的三个主要内容 -Handler_action 有两种类型,可以接受一个... 阅读更多
1K+ 次查看
我们可以使用游标来处理存储过程内的结果集。基本上,游标允许我们迭代查询返回的一组行并相应地处理每一行。为了演示在 MySQL 存储过程中使用 CURSOR,我们正在创建以下存储过程,该过程基于表“student_info”的值,如下所示 -mysql> Select * from student_info; +-----+---------+----------+------------+ | id | Name | Address | Subject | +-----+---------+----------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature ... 阅读更多
434 次查看
MySQL 为我们提供了一个 LOOP 语句,该语句重复执行代码块,并增加了使用循环标签的灵活性。我们有两个语句允许我们控制循环 -LEAVE 语句它允许我们立即退出循环,而无需等待检查条件。Iterate 语句它允许我们跳过其下的整个代码并开始新的迭代。为了演示 LOOP 语句与存储过程的使用,以下是一个存储过程,它用偶数(如 2、4、6、8 等)构造一个字符串 -mysql> Delimiter // mysql> CREATE PROCEDURE LOOP_loop() ... 阅读更多
110 次查看
基本上,IN() 比较函数检查值是否在值集中。如果值在值集中,则返回 1,否则返回 0。其语法如下;Expression IN (val1, val2, …, valN)这里,表达式是要在 IN 列表中的 N 个值集中搜索的值。Val1、val2、…、valN 是 N 个值的集合,构成 IN 列表,从中进行搜索。示例mysql> Select 100 IN (50, 100, 200, 400, 2000); +------------------------------+ | 100 IN (50, 100, 200, 400, 2000) | +------------------------------+ | ... 阅读更多
187 次查看
在 MySQL 中,IS 和 IS NOT 运算符都用于针对布尔值测试值。IS 运算符的语法如下 -Val IS Boolean_val这里 Val 是我们要针对布尔值测试的值。Boolean_val 是要针对其测试值布尔值,它可以是 TRUE、FALSE 或 UNKNOWN。IS NOT 运算符的语法如下 -Val IS NOT Boolean_val这里 Val 是我们要针对布尔值测试的值。Boolean_val 是要针对其测试值布尔值,它可以是 TRUE、FALSE 或 UNKNOWN。以下 MySQL 语句将演示... 阅读更多
96 次查看
当我们将空值安全运算符与行比较一起使用(如 (A, B) (C, D))时,其性能等效于 (A C) AND (B D)。以下示例将演示它 -mysql> Select (100,50) (50,100); +-----------------------+ | (100,50) (50,100) | +-----------------------+ | 0 | +-----------------------+ 1 row in set (0.00 sec) mysql> Select (100,50) (100,50); +-----------------------+ | (100,50) (100,50) | +-----------------------+ | 1 | +-----------------------+ 1 row in set (0.00 sec)上述结果集显示了如何在行比较中使用空值安全运算符。
304 次查看
MySQL 空值安全等于运算符(等效于标准 SQL IS NOT DISTINCT FROM 运算符)执行与 = 运算符类似的相等比较。其符号为 。当我们将 NULL 作为两个操作数时,它的执行方式与比较运算符不同。请考虑以下示例以了解空值安全运算符及其与比较运算符的区别 -mysql> Select 50 50, NULL NULL, 100 NULL; +-----------+---------------+--------------+ | 50 50 | NULL NULL | 100 NULL | +-----------+---------------+--------------+ | 1 | 1 | 0 | +-----------+---------------+--------------+ 1 row in set (0.00 sec) mysql> Select 50 = 50, NULL = NULL, 100 = NULL; +---------+-------------+------------+ | 50 = 50 | NULL = NULL | 100 = NULL | +---------+-------------+------------+ | 1 | NULL | NULL | +---------+-------------+------------+ 1 row in set (0.00 sec)