实验十--- MySQL过程式数据库对象
实验十 MySQL过程式数据库对象
一、 实验内容:
1、 存储过程的创建和调用
2、 存储函数的创建和调用
3、 触发器的创建和触发
4、 事件的创建和修改
一、 实验项目:员工管理数据库
用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表)、Departments(部门信息表)、Salary(员工薪水情况表)。
二、 实验步骤:(要求创建成功后,必须调用或触发)
1、 创建存储过程,使用Employees表中的员工人数来初始化一个局部变量,并调用存储过程;

2、 创建存储过程,使用游标确定一个员工的实际收入是否排在前三名,如果是,显示ture,否则显示false;

3、 创建存储过程,将工作时间满4年的员工的收入增加500;

4、 创建存储函数,比较两个员工的实际收入,若前者比后者高就输出0,否则输出1;

5、 创建存储函数,判断员工是否在研发部,若是则返回其学历,若不是则返回“no”;

6、 创建触发器,在Employees表中删除员工信息的同时将Salary表中该员工的信息删除,以保证数据的完整性;

7、 创建触发器,当修改Employees时,若将Employees表中员工的工作时间增加1年,则将其收入增加500,增加2年则增加1000,依次增加。若工作时间减少则无变化;

8、 创建触发器,当Salary表中的Income值增加500时,outcome值则增加50;

9 创建事件,要求立即执行,创建一个表table1,有三列:id int auto_increment primary key ,event_name char(20) not null ,trigger_time datetime not null;

10 修改系统变量event_scheduler打开事件调度器开关;

11 创建事件,要求3分钟后开始执行,在table1表中添加一条记录,每天执行一次,运行6个月时间,要求事件执行完成后保留事件定义;

12创建一个2018-12-6上午9点10分执行的事件,事件为在table1表中添加一条记录,要求事件执行完成后保留事件定义;


13创建一个从下个月20日开始到2019年5月20日结束,每个月执行一次的事件,事件为在table1表中添加一条记录;

14 使用show命令查看事件。

15 实验报告要求
1、 实验报告格式要求
包括内容:标题、实验内容、实验步骤、实验中遇到的问题及解决方案
2、 实验报告内容要求
(1) 标题参看实验指导标题+“实验报告”,如“实验一 MySQL的安装与命令初步实验报告”;
(2) 实验内容与实验指导中相同;
(3) 实验步骤中将自己实验中的每个步骤的命令和操作结果显示界面进行截图完善。
(4) 实验中遇到的问题及解决方案中如实地将自己的问题的解决过程记录出来。
3、 实验报告提交要求
每次实验课结束之后,每个人需要提交实验报告,实验报告命名为:学号姓名
16 补充说明
实验十--- MySQL过程式数据库对象的更多相关文章
- 【MYSQL笔记3】MYSQL过程式数据库对象之存储过程的调用、删除和修改
mysql从5.0版本开始支持存储过程.存储函数.触发器和事件功能的实现. 我们以一本书中的例题为例:创建xscj数据库的存储过程,判断两个输入的参数哪个更大.并调用该存储过程. (1)调用 首先,创 ...
- MySQL中的数据库对象
1.数据库中一般包含下列对象 表.约束.索引.触发器.序列.视图: 可以使用图形用户界面或通过显式执行语句来创建这些数据库对象.用于创建这些数据库对象的语句称为“数据定义语言”(DDL),它们通常以关 ...
- 转 MySQL实验(三) 过程式数据库对象的使用
转 http://blog.csdn.net/anne999/article/details/70432558
- (5)MySQL进阶篇SQL优化(优化数据库对象)
1.概述 在数据库设计过程中,用户可能会经常遇到这种问题:是否应该把所有表都按照第三范式来设计?表里面的字段到底改设置为多大长度合适?这些问题虽然很小,但是如果设计不当则可能会给将来的应用带来很多的性 ...
- Python之路【第十九章】:Django 数据库对象关系映射
Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...
- MySQL数据库学习三 数据库对象和基本操作
3.1 数据库和数据对象 1. 系统数据库 information_schema:主要存储系统中的一些数据库对象信息,如用户列表信息.列信息.权限信息.字符集信息和分区信息等. performance ...
- MySQL数据库对象-索引
1. 概述2. 索引分类2.1 不同索引的概念2.1.1 普通索引2.1.2 唯一索引2.1.3 全文索引2.1.4 多列索引3. 索引操作3.1 普通索引3.1.1 创建表时创建普通索引3.1.2 ...
- (1.13)mysql优化数据库对象
(1.13)mysql优化数据库对象 1.mysql优化数据库对象 [1.1]数据库对象类型优化 select * from test1 procedure analyse(); ,); --不要为那 ...
- MySQL提供了以下三种方法用于获取数据库对象的元数据
MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...
随机推荐
- JZOJ 5328. 【NOIP2017提高A组模拟8.22】世界线
5328. [NOIP2017提高A组模拟8.22]世界线 (File IO): input:worldline.in output:worldline.out Time Limits: 1500 m ...
- TensorFlow入门知识
Tensorflow基本操作 Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型.Tensorflow程序一般分为图的构建和图的执行两个阶段.图的构建阶段也称为图的定义阶段,该 ...
- leetcode 249 250 set和map的简单用法
leetcode249,利用了STL中的set class Solution { public: vector<int> intersection(vector<int>&am ...
- Promise,Generator,Await/Async
上节中忘记讲:Iterator接口和Generator函数的关系了,Symbol.iterator方法的最简单的实现就是通过Generator函数: let myIterable = { [Symbo ...
- 安卓 打飞机 app 开发 第一篇
先上效果图 其实,当时刚买 htc G8 的时候(那时北京的房价还是6千一平),安卓2.1 ,2.3 的时候就已经有安卓方面的开发的兴趣,但后来就没有弄过... today 突然想起来,手机上连个游戏 ...
- bootstrap table分页跳转到第一页
1.destroy后重新初使化表格,可以将表格初始化封装为一个函数,destory后重新调用该函数进行初始化: 2.使用url刷新表格,$('#table').bootstrapTable('refr ...
- JVM05——JVM类加载机制知多少
我们已经讲过 JVM 相关的很多常见知识点,感兴趣的朋友可以在我的往期文章中查看.接下来将继续为各位带来 JVM 类加载机制.关注我的公众号「Java面典」了解更多 Java 相关知识点. 类生命周期 ...
- 《深入理解 Java 虚拟机》读书笔记:虚拟机字节码执行引擎
正文 执行引擎是 Java 虚拟机最核心的组成部分之一.在不同的虚拟机实现里,执行引擎在执行 Java 代码时可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也 ...
- [python]回答百度知道上的问题2000-2999之间的回文日
因为百度知道的编辑器没有提供代码功能,将回复写入. 题目如下: 求2000到2999的所有回文日,例如20200202 用Python怎么做 回文年好求,回文日的话,年月日这咋存啊 思路一:遍历每一天 ...
- 搭建私有 Nuget 服务器教程(1)
对于 .NET 开发者来说,nuget 是必不可少的程序包管理工具.相应地,大部分开发团队都需要在内部搭建 Nuget 服务器,以管理私有 nupkg 包.本教程所使用的 Nuget 服务器,不是微软 ...