找到 4219 篇文章 关于 MySQLi
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 前缀,而无需任何引号来编写二进制数。然后,二进制数字符串将自动转换为字符... 阅读更多
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”中为同一事件和操作时间创建的多个触发器的顺序。
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)