MySQL数据库教程之十七:MySQL存储过程

时间:2024-03-16 16:39:06

MySQL数据库教程之十七:MySQL存储过程

准备工作:

先启动Navicat for MySQL,并打开前期建立的数据库和表

MySQL数据库教程之十七:MySQL存储过程

查看每个表的结构:

MySQL数据库教程之十七:MySQL存储过程

MySQL数据库教程之十七:MySQL存储过程

MySQL数据库教程之十七:MySQL存储过程

一、定义

       存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

二、存储过程的特点

    1、能完成较复杂的判断和运算

    2、可编程行强,灵活

    3、SQL编程的代码可重复使用

    4、执行的速度相对快一些

    5、减少网络之间的数据传输,节省开销    

语法:

MySQL数据库教程之十七:MySQL存储过程

三、调用存储过程

基本语法:call 存储过程名(参数1,参数2,...)
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
四、删除存储过程

基本语法:
drop procedure存储过程名;

五、存储过程例子

1、创建一个简单的存储过程,输出:您好,存储过程!

MySQL数据库教程之十七:MySQL存储过程

调用存储过程:

MySQL数据库教程之十七:MySQL存储过程

2、多条语句

MySQL数据库教程之十七:MySQL存储过程

调用存储过程:

结果1:

MySQL数据库教程之十七:MySQL存储过程

结果2:

MySQL数据库教程之十七:MySQL存储过程

3、有参数的存储过程

例3:根据学号来查看该学生学习了几门课。

MySQL数据库教程之十七:MySQL存储过程

调用存储过程,查看结果。(同学们可以多试几个学号,然后查看结果)

MySQL数据库教程之十七:MySQL存储过程

4、例4:创建存储过程,根据输入学号,输出学生姓名。

方式一:

MySQL数据库教程之十七:MySQL存储过程

调用存储过程,查看结果。(同学们可以多试几个学号,然后查看结果)

MySQL数据库教程之十七:MySQL存储过程

方式 2:

MySQL数据库教程之十七:MySQL存储过程

调用存储过程:

MySQL数据库教程之十七:MySQL存储过程

5、例5:统计student(学生表)中男女同学的人数

MySQL数据库教程之十七:MySQL存储过程

调用存储过程,查看运行结果:

MySQL数据库教程之十七:MySQL存储过程

 

女生人数:

MySQL数据库教程之十七:MySQL存储过程

6、例6 创建存储过程,实现下列功能:输入学生学号,输出学生所学课程及其成绩

MySQL数据库教程之十七:MySQL存储过程

调用存储过程,查看运行结果:

MySQL数据库教程之十七:MySQL存储过程