MySQL数据库触发器创建与管理

目录

实验项目简介

实验目的:

实验内容:

请完成以下任务:

观察与思考:


实验序号:

5

实验室名称:

机房

实验名称

MySQL数据库触发器创建与管理

实验类型

验证

计划学时

2

人组数

1

首开日期

面向专业(逐个填写)

主要配置仪器设备名称

设备规格型号

每组台件数

1.计算机

1

2.投影仪

1

消耗材料名称

每组消耗量

消耗材料名称

每组消耗量

实验项目简

实验目的

  1. 理解触发器的概念与类型。
  2. 理解触发器的功能及工作原理。
  3. 掌握创建、更改、删除触发器的方法。
  4. 掌握利用触发器维护数据完整性的方法。

实验内容

某同学定义产品信息product表,主要信息由产品编号、产品名称、主要功能、生产厂商、厂商地址,生成product表的SQL语句如下:

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)

);

在对product表进行数据操作时,需要对操作的内容和时间进行记录。于是定义了operate表,该表的生成SQL语句为:

CREATE TABLE operate(

op_id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,

op_name VARCHAR(20) NOT NULL,

op_item TIME NOT NULL

);

请完成以下任务:

1、在product表上分别创建BEFOREINSERT、AFTERUPDATE和AFTERDELETE等3个触发器,触发器的名称分别为Tproduct_bf_insert、Tproduct_af_update、Tproduct_af_del。执行语句部分都是向operate表插入操作方法和操作时间。

               a、 创建Tproduct_bf_insert触发器SQL代码。

CREATE TRIGGER Tproduct_bf_insert BEFORE INSERT ON product FOR EACH ROW INSERT INTO operate(op_name,op_item) VALUES ('INSERT',CURRENT_TIME());

                b、创建Tproduct_af_update触发器SQL代码。

CREATE TRIGGER Tproduct_af_update AFTER UPDATE ON product FOR EACH ROW INSERT INTO operate(op_name,op_item) VALUES ('UPDATE',CURRENT_TIME());

                c、创建Tproduct_af_del触发器SQL代码。

CREATE TRIGGER Tproduct_af_del AFTER INSERT ON product FOR EACH ROW INSERT INTO operate(op_name,op_item) VALUES ('DELECT',CURRENT_TIME());

2、对product表分别进行INSERT、UPDATE和DELETE操作,分别查看operate表。

        a、对product表中插入一条记录:1,‘abc’,‘治疗感冒’,‘北京abc制药厂’,‘北京市昌平区’。

        b、更细记录,将产品编号为1的厂商住址改为‘北京市海淀区’。

        c、删除产品编号为1的记录。

3、删除Tproduct_af_update触发器。

DROP TRIGGER Tproduct_af_update; 

观察与思考

        1、能否在当前数据库中为其他数据库创建触发器?

        2、触发器何时被激发?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要创建管理MySQL数据库,需要掌握MySQL语言以及相关的数据库管理工具。具体步骤包括创建数据库创建数据表、添加数据、删除、修改、查询等操作。同时,还需要进行数据库备份、恢复、优化等管理工作,以确保数据的安全性和数据处理的效率。 ### 回答2: MySQL数据库触发器是一种用于监视特定表中数据变化的特殊类型程序,一旦所监视的数据被操作,则触发器就会自动地被执行。这些操作可包括插入、更新或删除数据。通过创建管理MySQL数据库触发器,您可以实现更加高效和自动化的数据库管理。 如何创建MySQL数据库触发器: 1. 首先,您需要打开MySQL数据库,并选择相应的数据库。 2. 接下来,您需要创建一个触发器,使用CREATE TRIGGER语句,并指定触发器的名称、触发时间(BEFORE或AFTER)、触发事件(INSERT、UPDATE或DELETE)、和需要执行的操作。 3. 在触发器的BEGIN和END块中编写所需的操作代码,以确保在触发器被激活时执行正确的操作。 4. 最后,您需要使用DROP TRIGGER语句删除不需要的触发器。 如何管理MySQL数据库触发器: 1. 您可以使用SHOW TRIGGERS语句来列出特定数据库中的所有触发器。 2. 如果需要禁用某个触发器,则可以使用ALTER TRIGGER语句,并将其状态设置为DISABLE。 3. 您可以使用ALTER TRIGGER语句来修改某个触发器的属性,例如更改触发器名称或调整其代码以满足新的要求。 4. 如果您不再需要某个触发器,则可以使用DROP TRIGGER语句将其从MySQL数据库中删除。 总之,MySQL数据库触发器是一项极其有用的技术,可以帮助对数据库进行更加智能和自动化的管理。无论您是一位数据库开发人员还是管理员,掌握创建管理MySQL触发器的技能都是一项重要的技术,可以极大地提高数据库的安全性和效率。 ### 回答3: 在进行mysql数据库触发器创建管理实验之前,需要先了解什么是触发器触发器是一种特殊的存储过程,当数据库中的数据发生变化时,触发器就会自动执行指定的操作。因此,触发器可以用于实现数据库的自动化管理和维护,提高数据库的运行效率和安全性。 首先,在mysql数据库创建触发器需要满足以下条件: 1. 要有足够的权限,可以使用root用户或具有适当权限的其他用户来创建触发器。 2. 触发器可以在表级别和行级别创建,需要指定触发器的类型和事件,如在INSERT、UPDATE、DELETE等操作时触发。 3. 触发器可以使用PL/SQL、T-SQL等编程语言编写,需要注意语法规范和安全性。 下面我们来看一下创建触发器的具体步骤: 1. 首先创建一个表,用于测试触发器的功能,例如:CREATE TABLE `order`(`id` int(11) NOT NULL AUTO_INCREMENT, `price` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`)); 2. 然后创建一个触发器,用于测试数据的插入操作:CREATE TRIGGER `insert_order` BEFORE INSERT ON `order` FOR EACH ROW BEGIN SET NEW.price=NEW.price*0.9; END; 3. 在测试表中插入一条数据,例如:INSERT INTO `order` (`price`) VALUES (100.00); 4. 查看测试表的数据,发现插入后的price为90.00,触发器已经生效。 接下来,我们来看一下如何管理触发器: 1. 查看数据库中所有的触发器:SHOW TRIGGERS; 2. 查看指定表的触发器:SHOW TRIGGERS WHERE `Table`=‘table_name’; 3. 查看指定触发器的定义:SHOW CREATE TRIGGER `trigger_name`; 4. 删除指定表的触发器:DROP TRIGGER `trigger_name`; 总之,mysql数据库触发器是一种非常重要的功能,可以用于实现数据库的自动化管理和维护,提高数据库的运行效率和安全性。掌握创建管理mysql数据库触发器的方法,对于数据库管理员和开发人员来说都是非常必要的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值