- 147
- 0
- 约9.61千字
- 约 9页
- 2021-11-20 发布于上海
- 举报
实验四 数据库操作语言SQL
一.实验目的
⚫ 了解使用SQL 中DDL 语句创建数据库和表的方法
⚫ 熟练掌握使用SQL 中DML 语句对数据库进行查询、插入、修改和删除等操作的方法
⚫ 掌握可编程对象视图和存储过程的创建与使用方法,了解触发器的创建方法
二.实验环境及素材
⚫ MySQL 和Navicat for MySQL
⚫ bookstore 数据库的脚本文件bookstore.sql
三.实验内容
首先创建一个bookstore 数据库,执行bookstore.sql 脚本文件实现表的创建及数据记录的添
加。然后在bookstore 数据库中完成以下题目 (bookstore 数据库设计说明参见10.1 节)。
① 在Navicat for MySQL 中,创建数据库bookstore 。
② 右击数据库bookstore,选择“运行SQL 文件…”,在对话框中浏览选择“bookstore.sql ”文
件,点击“开始”即可完成数据表定义及添加数据记录。
③ 在左栏连接窗口展开数据库“bookstore ”/表,右击“表”选“刷新”菜单,即可看到恢复
的各数据表。
9 .创建和使用存储过程。
解析:存储过程是经过编译的 SQL 语句的集合。用户首先创建存储过程,然后在程序中调用该
存储过程执行。创建存储过程可以在 Navicat for MySQL 中使用向导建立 ,也可以使用 SQL 的
CREATE PROCDURE 语句。存储过程可以接受参数、也可将查询信息通过输出参数返回调用
者。
常用存储过程的语法格式:
CREATE PROCDURE 存储过程名( [形式参数列表])
SQL 语句段
“形式参数列表”中多个参数之间用逗号分隔,如果没有参数,则() 中为空。每个参数由输
入输出类型、参数名和参数类型三部分组成,定义规则如下:
[IN|OUT|INOUT 参数名 类型
输入输出类型中:IN 是输入参数,即把数据传递给存储过程;OUT 是输出参数,即从存
储过程返回值;INOUT 表示输入输出,即传入也能返回值。默认为 IN 类型;参数名必须符合
标识符规则;参数类型可以是 MySQL 支持的任意数据类型。
存储过程创建后,可以通过 CALL 语句调用执行存储过程。语法格式如下:
1
CALL 存储过程名(实参值|@变量)
其中:“实参值”是输入参数的值;“@变量”表示用来保存参数或者返回参数的变量。多个
参数可依次按以上参数定义规则列出,用逗号分隔。
(1)创建存储过程proc_SearchBook ,查询指定图书名称的图书信息,并调用查看结果。
解析:本题以图书名称作为存储过程的输入参数。
参考步骤 (Navicat for MySQL 中使用向导创建存储过程):
① 打开 Navicat for MySQL ,展开数据库 bookstore ,右击“函数”,选择“+新建函数”,出
现创建 f()函数向导对话框,点击类型“过程”。
② 输入存储过程参数。依次设置参数模式 “IN”、参数名 “bkname”和类型 “varchar(50) ”,
如图 4.34 (a)所示,点击“完成”,进入存储过程 SQL 代码输入窗口,如图 4.34 (b)所示,在 BEGIN
和 END 之间输入 SQL 语句:
SELECT * FROM book WHERE bookname=bkname; -- 按bkname 查询图书信息
③ 点击工具栏中的“ ”或“ ”按钮,在“过程名”对话框输入存储过程名称
“proc_SearchBook”,点击“确定”按钮。在“bookstore/f()函数”下可看到该存储过程。
调用查看结果 (在 SQL 查询编辑窗口中调用) :
运行 proc_SearchBook ,查询图书 “西游记”的信息。点击“ ”按钮,在“参数”对话框
中输入参数 西游记 (字符串需加单引号),点击“确定”按钮,执行结果如图4.35 。或在查询
编辑窗口执行调用存储过程 proc_SearchBook 的语句获取查询结果。
CALL proc_SearchBook (西游记)
或者:SET @nbook=西游记;
原创力文档

文档评论(0)