MySQL数据库教程之十六:实验四:MySQL 视图与触发器

MySQL数据库教程之十六:实验四:MySQL 视图与触发器

一、实验目的:

  1. 掌握创建视图、通过视图查看数据的SQL语法应用。
  2. 掌握通过视图添加、修改、删除基本表的数据方法。
  3. 掌握创建触发器的方法,并能够进行结果验证。

二、实验内容:

数据库:YGGL(员工管理)、员工表(Employees)、部门表(Depart)、薪水表(Salary)

  1. 创建视图、通过视图查看数据。
  2. 通过视图添加、修改、删除基本表的数据。
  3. 创建触发器,并验证结果。

三、实验环境:

1、计算机:CPU: Pentium III 600MHz以上  RAM:256M以上 硬盘空间:4G以上

2、操作系统: Windows 7操作系统

3、软件要求:MySQL 8.0

四、实验步骤及代码编辑

数据库:YGGL

三个表的结构如下:

三个表的样本数据:

实验步骤:

打开数据库,并查看上次实验所建立的表。

 

1、创建视图;

(1)、使用SQL创建员工表employees的视图view_male,包含所有‘男’员工的信息;

 

(2)、使用SQL创建员工表employees和salary的视图view_female,包含所有‘女’员工的:员工号,员工姓名,出生年月,收入和支出。

2、通过视图修改数据库表的数据;

(1)利用view_male,将所有男员工的年龄加1;

 

3、创建触发器;

(1)、用SQL创建触发器,要示:当一个员工辞职时,删除employees员工信息时,自动删除salary表中此员工的信息;

 

(2)、用SQL创建触发器,要求:在salary表输入员工工资时,确定工资收入范围在4000-1000元之间

 

4、验证触发器的效果。

针对第3题创建的触发器,对相应的表进行数据插入或更新或删除,以验证所创建的触发器的效果;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
创建视图触发器是关系型数据库中的两个重要的概念。视图是虚拟的表,它是基于 SQL 语句检索出来的结果集,可以像表一样使用。而触发器数据库中的一种特殊对象,它可以在某些特定的事件发生时自动执行一些操作。 下面是一个简单的实验总结,介绍如何在 MySQL 数据库中创建视图触发器。 1. 创建视图MySQL 中,创建视图的语法如下: ``` CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` 其中,`view_name` 是视图的名称;`column1, column2, ...` 是选择要显示的列;`table_name` 是基础表的名称;`condition` 是可选的筛选条件。 例如,我们可以创建一个名为 `product_list` 的视图,它显示出所有价格在 1000 元以上的产品: ``` CREATE VIEW product_list AS SELECT product_name, price FROM products WHERE price > 1000; ``` 这样,我们就可以像使用表一样查询这个视图: ``` SELECT * FROM product_list; ``` 2. 创建触发器MySQL 中,创建触发器的语法如下: ``` CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name FOR EACH ROW BEGIN -- 触发器执行的语句 END; ``` 其中,`trigger_name` 是触发器的名称;`BEFORE | AFTER` 指定触发器是在执行操作前还是后执行;`INSERT | UPDATE | DELETE` 指定触发器是在插入、更新还是删除时执行;`table_name` 是触发器所属的表名;`FOR EACH ROW` 表示对于每一行数据都会执行触发器中的代码;`BEGIN` 和 `END` 之间是触发器执行的语句。 例如,我们可以创建一个名为 `update_stock` 的触发器,在更新产品表时自动更新库存表中该产品的库存数量: ``` CREATE TRIGGER update_stock AFTER UPDATE ON products FOR EACH ROW BEGIN UPDATE stocks SET quantity = quantity - (NEW.quantity - OLD.quantity) WHERE product_id = NEW.product_id; END; ``` 这样,每当更新产品表中的某一行数据时,触发器中的代码就会自动执行,更新库存表中对应产品的库存数量。 总之,视图触发器都是非常有用的数据库对象,可以帮助我们更方便地管理和操作数据库中的数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值