mysql实验3_MySQL实验(三) 过程式数据库对象的使用

一、目的与要求

(1)掌握存储过程创建和调用的方法;

(2)掌握MySQL中程序片段的组成;

(3)掌握游标的使用方法;

(4)掌握存储函数创建和调用的方法;

(5)掌握触发器的使用方法;

(6)掌握事件的创建和使用方法;

二、实验内容

(1)了解存储过程体中允许的SQL语句类型和参数的定义方法;

(2)了解存储过程的调用方法;

(3)了解存储函数的定义和调用方法;

(4)了解触发器的作用和调用方法;

(5)了解事件的作用和定义方法;

三、实验结果

1.存储过程

(1)创建存储过程,使用Employees表中的员工人数来初始化一个局部变量,并调用这个存储过程。

USE YGGL

DELIMITER $$

CREATE PROCEDURE TEST(OUT NUMBER1 INTEGER) BEGIN DECLARE NUMBER2 INTEGER;

SET NUMBER2=(SELECT COUNT(*) FROM Employees);

SET NUMBER1=NUMBER2;

END $$ DELIMITER;

0818b9ca8b590ca3270a3433284dd417.png

CALL TEST(@NUMBER);

select @NUMBER;

0818b9ca8b590ca3270a3433284dd417.png

(2)创建存储过程,比较两个员工的实际收入,若前者比后者高就输出0,否则输出1.

DELIMITER $$

CREATE PROCEDURE COMPA(IN ID1 CHAR(6),IN ID2 CHAR(6),OUT BJ INTEGER) BEGIN DECLARE SR1,SR2 FLOAT(8);

SELECT InCome-OuTCome INTO SR1 FROM Salary WHERE EmployeesID=ID1;

SELECT InCome-OuTCome INTO SR2 FROM Salary WHERE EmployeesID=ID2;

IF ID1>ID2 THEN

SET BJ=0;

ELSE

SET BJ=1;

END IF;

END$$

DELIMITER;

0818b9ca8b590ca3270a3433284dd417.png

CALL COMPA('000001','108991',@BJ);

SELECT @BJ;

0818b9ca8b590ca3270a3433284dd417.png

(3)创建存储过程,使用游标确定一个员工的实际收入是否排在前三名。结果为TRUE表示是,结果为FLASE表示否;

DELIMITER $$

CREATE PROCEDURE TOP_THREE (IN EM_ID CHAR(6),OUT OK BOOLEAN) BEGIN DECLARE X_EM_ID CHAR(6);

DECLARE ACT_IN,SEQ INTEGER;

DECLARE FOUND BOOLEAN;

DECLARE SALARY_DIS CURSOR FOR

SELECT EmployeesID,InCome-OutCome

FROM Salary

ORDER BY 2 DESC;

DECLARE CONTINUE HANDLER FOR NOT FOUND

SET FOUND=FALSE;

SET SEQ=0;

SET FOUND=TRUE;

SET OK=FALSE;

OPEN SALARY_DIS;

FETCH SALARY_DIS INTO X_EM_ID,ACT_IN;

WHILE FOUND AND SWQ<3 AND OK=FALSE DO

SET SEQ=SEQ+1;

IF X_EM_ID=EM_ID THEN

SET OK=TRUE;

END IF;

FETCH SALARY_DIS INTO X_EM_ID,ACT_IN;

END WHILE;

CLOSE SALARY_DIS;

END $$

DELIMITER;

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第3章是关于MySQL数据库对象管理的知识,其中包括了如何创建数据库、创建数据表、以及使用的一些常用的数据库对象管理命令。 首先,我们需要通过使用CREATE DATABASE语句来创建一个数据库。比如,我们可以使用以下命令来创建一个名为"mydatabase"的数据库: CREATE DATABASE mydatabase; 接着,我们可以使用CREATE TABLE语句来创建一个数据表。数据表是数据库中用于存储数据的一种对象。例如,以下命令可以用来创建一个名为"users"的数据表,其中包含id、name和email字段: CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100) ); 在数据库对象管理中,我们还可以使用ALTER TABLE语句来修改数据表的结构。比如,我们可以使用以下命令向"users"数据表中添加一个age字段: ALTER TABLE users ADD COLUMN age INT; 除了创建和修改数据表,我们还可以使用DROP DATABASE和DROP TABLE命令来删除数据库和数据表。比如,以下命令将删除名为"mydatabase"的数据库: DROP DATABASE mydatabase; 最后,我们还可以使用RENAME TABLE命令来更改数据表的名称。例如,以下命令可以将名为"users"的数据表重命名为"customers": RENAME TABLE users TO customers; 综上所述,国开实验2中涉及了MySQL数据库对象管理的基本内容,包括创建数据库、创建数据表、修改数据表的结构、删除数据库和数据表以及更改数据表的名称等操作。掌握这些知识可以帮助我们更好地管理和维护MySQL数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值