1、触发器和常用函数第一部分:触发器概念题1 触发器的含义和作用实践题在 product 表上创建三个触发器。每次激活触发器后,都会更新 operate 表。product 表和operate 表的内容如下Product 表内容字段名 字段描述 数据类型 主键 外键 非空 唯一 自增Id 产品编号 Int(10) 是 否 是 是 否Name 产品功能 Varchar(20) 否 否 是 否 否Function 主要功能 Varchar(50) 否 否 否 否 否Company 生产厂家 Varchar(20) 否 否 是 否 否Address 家庭住址 Varchar(20) 否 否 否 否 否O
2、perate 表的内容字段名 字段描述 数据类型 主键 外键 非空 唯一 自增Op_id 编号 Int(10) 是 否 是 是 是Op_type 操作方式 Varchar(20) 否 否 是 否 否Op_time 操作时间 Time 否 否 是 否 否按照下列要求进行操作1 在 product 表上分别创建 BEFORE INSERT、AFTER UPDATE 和 AFTER DELETE 3 个触发器,触发器名称分别为 product_bf_insert、product_af_update 和 product_af_del。执行语句部分都是向 operate 表插入操作方法和操作时间。2 对
3、 product 表分别执行 INSERT、UPDATE 和 DELETE 操作3 删除 product_bf_insert 和 product_af_update 这两个触发器执行步骤1创建 product 表和 operate 表2创建 product_bf_insert 触发器3创建 product_af_update 触发器4创建 product_af_del 触发器5对 product 表进行操作6删除触发器第二部分:MySQL 常用函数文本函数数字函数日期和时间函数概念题触发器是由 INSERT、UPDATE 和 DELETE 等事件来触发某种特定操作。满足触发器的触发条件时,数据
4、库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作的一致性。实践题1 CREATE TABLE product(id INT(10) NOT NULL UNIQUE PRIMARY KEY,name VARCHAR(20) NOT NULL,function VARCHAR(50),company VARCHAR(20) NOT NULL,address VARCHAR(50);CREATE TABLE operate(op_id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,op_name VARCHAR(20) NOT NU
5、LL,op_time TIME NOT NULL,);2 CREATE TRIGGER product_bf_insert BEFORE INSERTON poduct FOR EACH ROWINSERT INTO operate VALUES(null,Insert product,now();SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME=product_bf_insert G*(查看触发器 product_bf_insert 基本信息)3 CREATE TRIGGER product_af_update AFTE
6、R UPDATEON product FOR EACH ROWINSERT INTO operate VALUES(null,Update product,now();4 CREATE TRIGGER product_af_del AFTER DELETEON product FOR EACH ROWINSERT INTO operate VALUES(null,delete product,now();5 INSERT INTO product VALUES(1,abc,治疗感冒,北京 abc 制药厂, 北京市昌平区);SELECT * FROM operate;UPDATE product SET address=北京市海淀区 WHERE id=1;SELECT * FROM operate;DELETE FROM product WHERE id=1;SELECT * FROM operate;6 DROP TRIGGER product_bf_insert;DROP TRIGGER product_af_update;