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 不是一个值,它也不同于零。如果我们在其中使用 NULL,MySQL 算术表达式将返回 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。然后,二进制数字符串将自动转换为字符 ... 阅读更多