751 次浏览
实际上,MySQL 事件调度器是一个在后台运行的进程,不断查找要执行的事件。但在创建或计划事件之前,我们只需要启动调度器。它可以通过以下语句启动:mysql> SET GLOBAL event_scheduler = ON; Query OK, 0 rows affected (0.07 sec)现在,借助以下语句,我们可以检查其在 MySQL 进程列表中的状态:mysql> SHOW PROCESSLIST\G *************************** 1. row *************************** Id: 3 User: root Host: localhost:49500 db: query Command: Query Time: 0 State: ... 阅读更多
92 次浏览
基本上,有两种事件需要指定计划:一次性事件一次性事件意味着它只会在特定计划上执行一次。如果要创建一个一次性事件,则需要在 ON SCHEDULE 子句后放置以下语法:AT Timestamp[+INTERVAL]重复事件重复事件意味着它将在规则的时间间隔后执行。如果要创建一个重复事件,则需要在 ON SCHEDULE 子句后放置以下语法:EVERY interval STARTS timestamp [+INTERVAL] ENDS timestamp [+INTERVAL]
513 次浏览
MySQL 事件是基于预定义计划运行的任务,因此有时被称为计划事件。换句话说,我们可以说 MySQL 事件计划是一个在后台运行的进程,不断查找要执行的事件。它被称为时间触发器,因为它们由时间触发,而不是像基于表更新执行的触发器。我们可以使用事件来运行一次或以重复间隔运行。它们可用于创建备份、删除陈旧记录、汇总数据以... 阅读更多
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 ... 阅读更多
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 | ... 阅读更多
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 ... 阅读更多
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 本身。
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)
89 次浏览
以下两种方法可以将数值作为二进制数输入:使用前缀“B”在这种方法中,我们需要在单引号中引用二进制数,并加上前缀 B。然后,二进制数字符串将根据表达式的上下文自动转换为数值。示例mysql> Select B'1110'+0; +-----------+ | B'1110'+0 | +-----------+ | 14 | +-----------+ 1 row in set (0.00 sec)使用前缀 0b在这种方法中,我们需要在没有引号的情况下编写二进制数,并加上前缀 0b。然后,二进制数字符串将自动... 阅读更多
154 次浏览
以下两种方法可以将字符作为二进制数输入:使用前缀“B”在这种方法中,我们需要在单引号中引用二进制数,并加上前缀 B。然后,二进制数字符串将自动转换为字符字符串。示例mysql> Select B'01000001'; +-------------+ | B'01000001' | +-------------+ | A | +-------------+ 1 row in set (0.00 sec)使用前缀 0b在这种方法中,我们需要在没有引号的情况下编写二进制数,并加上前缀 0b。然后,二进制数字符串将自动转换为字符... 阅读更多