SQL专项练习7
触发器
MySQL触发器(Trigger)是一种数据库对象,它在某个特定的事件发生时自动执行一系列的操作。
这些事件可以包括对数据库表的数据插入、更新或删除操作。
MySQL触发器由以下几个关键部分组成:
- 触发事件(Trigger Event):指定触发器执行的事件类型,包括BEFORE(事件前触发)和AFTER(事件后触发)。
- 触发表(Trigger Table):指定触发器关联的表,当触发表上的事件发生时,触发器被激活。
- 触发条件(Trigger Condition):指定触发器执行的条件,只有满足条件时触发器才会执行。
- 触发操作(Trigger Action):指定触发器被激活时要执行的操作,可以是SQL语句、存储过程或函数等。
触发器是MySQL中强大的功能,可以在特定的事件发生时自动执行一系列操作,提供了更灵活和自动化的数据库管理能力。
现在,我们想要在向orders表插入新记录时,自动更新相关客户的最近购买日期。
CREATE TRIGGER update_last_purchase_date AFTER INSERT ON orders FOR EACH ROW BEGIN UPDATE customers SET last_purchase_date = NEW.order_date WHERE customer_id = NEW.customer_id; END;
在上面的触发器中,我们定义了触发事件为AFTER INSERT ON orders,表示在向orders表插入记录后触发。
FOR EACH ROW表示对每一行都执行触发器操作。
在触发器操作中,我们执行一个UPDATE语句,将最近购买日期更新到对应的customers表中的记录。
当向orders表插入新的记录时,触发器将被自动激活,并根据定义执行相应的操作,更新相关客户的最近购买日期。
LEFT JOIN 左链接,会从左表中返回所有的行,即便在右表中没有匹配的行
SQL专项练习 文章被收录于专栏
SQL专项每日练习,错题