找到 4219 篇文章 关于 MySQLi

什么是 MySQL 事件以及它与触发器的关系?

Alankritha Ammu
更新于 2020年6月22日 12:19:01

513 次浏览

MySQL 事件是一个基于预定义时间表运行的任务,因此有时也称为计划事件。换句话说,我们可以说 MySQL 事件调度是一个在后台运行并不断查找要执行的事件的进程。它被称为时间触发器,因为它是按时间触发的,而不是像根据表更新执行的触发器那样。我们可以使用事件来运行一次或以重复的间隔运行。它们可以用于创建备份、删除过期记录、汇总数据…… 阅读更多

如何创建一个立即执行的 MySQL 一次性事件?

Lakshmi Srinivas
更新于 2020年6月22日 12:20:40

632 次浏览

众所周知,一次性事件是指仅在一个特定时间表上执行一次的事件。为了说明创建此类事件的过程,我们使用以下示例,其中我们创建一个将在当前时间执行的事件 - 示例 mysql> Create table event_message(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, MESSAGE VARCHAR(255) NOT NULL, Generated_at DATETIMENOT NULL); Query OK, 0 rows affected (0.61 sec) mysql> CREATE EVENT testing_event ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO event_message(message, generated_at) Values('Hello', NOW()); Query OK, 0 rows affected (0.00 sec) mysql> Select * from ... 阅读更多

如何比较两个 MySQL 表中的数据?

Prabhas
更新于 2020年2月14日 11:09:29

1K+ 次浏览

有时我们需要识别两个表中不匹配的数据,尤其是在数据迁移的情况下。可以通过比较表来实现。考虑下面的示例,其中我们有两个名为“students”和“student1”的表。mysql> Select * from students; +--------+--------+----------+ | RollNo | Name   | Subject  | +--------+--------+----------+ |    100 | Gaurav | Computer | |    101 | Raman  | History  | |    102 | Somil  | Computer | +--------+--------+----------+ 3 rows in set (0.00 sec) mysql> select * from student1; +--------+--------+----------+ | RollNo | Name | Subject | ... 阅读更多

在没有聚合函数的情况下,GROUP BY 子句将如何执行?

Krantik Chavan
更新于 2020年6月22日 12:31:12

4K+ 次浏览

当我们在 SELECT 语句中使用 GROUP BY 子句而不使用聚合函数时,它的行为将类似于 DISTINCT 子句。例如,我们有以下表 - mysql> Select * from Student_info; +------+---------+------------+------------+ | id   | Name    | Address    | Subject    | +------+---------+------------+------------+ | 101  | YashPal | Amritsar   | History    | | 105  | Gaurav  | Chandigarh | Literature | | 125  | Raman   | Shimla     | Computers  | | 130  | Ram     | Jhansi     | Computers  | | 132  | Shyam   | Chandigarh ... 阅读更多

MySQL 算术表达式何时返回 NULL?

seetha
更新于 2020年6月22日 12:19:41

99 次浏览

众所周知,NULL 不是一个值,它也不同于零。如果我们在 MySQL 算术表达式中使用 NULL,则该表达式将返回 NULL。这可以通过以下示例来理解 - 示例 mysql> Select 100*NULL; +----------+ | 100*NULL | +----------+ |     NULL | +----------+ 1 row in set (0.00 sec) mysql> Select 100+NULL; +----------+ | 100+NULL | +----------+ |     NULL | +----------+ 1 row in set (0.00 sec) 从上面的示例可以看出,如果我们在算术表达式中使用 NULL,则结果将是 NULL 本身。

如何在 MySQL 语句中输入布尔值?

Anvi Jain
更新于 2020年6月22日 12:20:04

400 次浏览

众所周知,MySQL 中没有布尔数据类型,因此我们可以使用 TRUE 或 true、FALSE 或 false 在 MySQL 语句中输入布尔值。示例 mysql> Select TRUE,FALSE; +------+-------+ | TRUE | FALSE | +------+-------+ | 1    | 0     | +------+-------+ 1 row in set (0.00 sec) mysql> Select true,false; +------+-------+ | TRUE | FALSE | +------+-------+ | 1    | 0     | +------+-------+ 1 row in set (0.00 sec)

如何将数值作为二进制数输入 MySQL 语句?

vanithasree
更新于 2020年6月22日 12:21:32

89 次浏览

以下是我们可以将数值作为二进制数输入的方法 - 使用前缀“B”在这种方法中,我们需要用单引号将二进制数括起来,并在前面加上 B 前缀。然后,二进制数字符串将根据表达式的上下文自动转换为数值。示例 mysql> Select B'1110'+0; +-----------+ | B'1110'+0 | +-----------+ |        14 | +-----------+ 1 row in set (0.00 sec) 使用前缀 0b在这种方法中,我们需要在前面加上 0b 前缀,而无需任何引号来编写二进制数。然后,二进制数字符串将自动... 阅读更多

如何将字符作为二进制数输入 MySQL 语句?

Smita Kapse
更新于 2020年6月22日 12:22:22

154 次浏览

以下是我们可以将字符作为二进制数输入的方法 - 使用前缀“B”在这种方法中,我们需要用单引号将二进制数括起来,并在前面加上 B 前缀。然后,二进制数字符串将自动转换为字符字符串。示例 mysql> Select B'01000001'; +-------------+ | B'01000001' | +-------------+ | A           | +-------------+ 1 row in set (0.00 sec) 使用前缀 0b在这种方法中,我们需要在前面加上 0b 前缀,而无需任何引号来编写二进制数。然后,二进制数字符串将自动转换为字符... 阅读更多

对于同一事件和操作时间的多个触发器,如何查看触发器顺序的信息?

karthikeya Boyini
更新于 2020年6月22日 12:12:28

70 次浏览

这可以通过以下查询来完成 - mysql> SELECT trigger_name,action_order FROM INFORMATION_SCHEMA.triggers WHERE TRIGGER_SCHEMA = 'query' ORDER BY event_object_table,action_timing,event_manipulation; +------------------------------+--------------+ | trigger_name                 | action_order | +------------------------------+--------------+ | studentdetail_before_update  |            1 | | studentdetail_before_update2 |            2 | +------------------------------+--------------+ 2 rows in set (0.10 sec) 以上结果集显示了在数据库“query”中为同一事件和操作时间创建的多个触发器的顺序。

MySQL 触发器如何执行多个语句?

George John
更新于 2019年7月30日 22:30:21

774 次浏览

MySQL 触发器可以使用 BEGIN…END 结构来执行多个语句。在 BEGIN 块中,我们还可以使用存储例程中允许的其他语法,例如条件语句和循环。为了说明这个概念,我们使用以下 BEFORE INSERT 触发器的示例,该触发器具有 IF 条件语句 - 示例 mysql> Create Trigger before_inser_studentage BEFORE INSERT ON student_age FOR EACH ROW BEGIN IF NEW.age < 0 THEN SET NEW.age = 0; ELSEIF NEW.age > 100 THEN SET NEW.age = 100; END IF; END // Query OK, 0 rows affected (0.30 sec)

广告