MySQL数据库技术实验报告模板.docx
《MySQL数据库技术实验报告模板.docx》由会员分享,可在线阅读,更多相关《MySQL数据库技术实验报告模板.docx(21页珍藏版)》请在冰豆网上搜索。
MySQL数据库技术实验报告模板
使用须知
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
红色替换(ctrl+H)为自己的就OK了
记得修改完删除此页!
!
一大波写好的实验来袭,请注意。
。
。
。
MySQL数据库应用实验报告
姓名:
姓名张三
学号:
班级:
班级软件的
成绩:
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验1MySQL的使用
实验过程
目的要求:
(1)掌握MySQL服务器安装方法
(2)掌握MySQLAdministrator的基本使用方法
(3)基本了解数据库及其对象
实验准备:
(1)了解MySQL安装的软硬件要求
(2)了解MYSQL支持的身份验证模式
(3)了解MySQL各组件的主要功能
(4)基本了解数据库、表、数据库对象
实验内容:
1.安装MySQL服务器和MySQL界面工具
安装MySQL界面工具。
(插入安装好的界面工具截图即可)
2.利用MySQL客户端访问数据库
(1)打开开始,程序,MySQL,MySQLserver,MySQLcommandlineclient,进入MySQL客户端界面,输入管理员密码登录。
(2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。
(3)实用show语句查看系统自动创建的数据库。
(4)实用USE语句选择mysql数据库为当前数据库。
(5)使用SHOWTABLES语句查看当前数据库中的表。
(6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的内容。
(7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。
<图表见下页>
实验小结:
在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。
导致再次安装时依然不成功。
在对某个数据库进行操作之前,必须先选中该数据库。
在MySql安装过程中,注意修改字符集为gb2312或gbk,以支持中文信息输入。
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验2创建数据库和表
实验过程
目的和实验要求:
(1)了解MySQL数据库中的存储引擎分类
(2)了解表的结构特点
(3)了解MySQL的基本数据类型
(4)了解空值的概念
(5)学会在MySQL界面工具中创建数据库和表
(6)学会使用SQL语句创建数据库和表
实验内容:
1.实验题目
创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。
数据库YGGL包含下列三个表:
(1)Employees:
员工信息表
(2)Departments:
部门信息表
(3)Salary:
员工薪水情况表
表实验Employees表结构
列名
数据类型
长度
是否允许空值
说明
Employees
char
6
否
员工编号,主键
name
char
10
否
姓名
education
char
4
否
学历
birthday
date
16
否
出生日期
sex
char
2
否
性别
workyear
tinyint
1
是
工作时间
address
varchar
20
是
地址
phonenumber
char
12
是
电话
departmentID
char
3
否
员工部门号,外键
表实验Departments表结构
列名
数据类型
长度
是否允许空值
说明
departmentID
char
3
否
部门编号,主键
departmentName
char
20
否
部门名
note
text
16
是
备注
表实验Salary表结构
列名
数据类型
长度
是否允许空值
说明
employmeeID
char
6
否
员工编号,主键
Income
float
8
否
收入
Outcome
float
8
否
支出
2.实验准备
首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用CREATEDATEBASE语句的用户。
其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解MySQL的常用数据类型,以及创建数据库的表。
此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建和使用CREATDATEBASE语句创建。
实验步骤:
1.使用命令行方式创建数据库YGGL。
(1)打开MySQLcommandlineclient,输入管理员密码登录,使用CREATE语句创建YGGL数据库。
(2)在YGGL数据库存在的情况下,使用CREATDATEBASE语句新建数据库YGGL,查看错误信息,再尝试加上IFNOTEXISTS关键词创建YGGL,看看有什么变化。
(3)使用命令方法创建数据库YGGL1,要求数据库字符集为utf8,校对规则为utf8_general_ci。
2.使用SQL语句在YGGL数据库中创建表employees
执行创建表Employees的Sql语句。
3使用SQL语句删除表和数据库
(1)删除表employmees。
(2)删除数据库YGGL。
(3)使用命令行将表Emloyees1中的Emailaddress列删除,并将Sex列的默认值修改为男。
实验小结:
在不知道系统中是否存在要创建的数据库时,最好加上IFNOTEXISTS,来避免因已存在而致使无法成功创建的情况发生。
对于创建表及删除数据库、表时,类同。
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验3表数据插入、修改和删除
实验过程
目的和实验要求:
(1)学会在界面管理工具中对数据库表进行插入、修改和删除数据操作
(2)学会用SQL语句对数据库进行插入、修改和删除数据操作
(3)了解数据更新操作时要注意数据完整性
(4)了解SQL语句对表数据操作的灵活控制功能
实验内容:
1.实验题目
分别使用MySQLAdministator和SQL语句,向在实验2建立的数据库YGGL的表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录。
使用SQL进行有效的修改和删除。
2.实验准备
首先,了解对表数据的插入、删除、修改都属于表数据的更新操作。
对表数据的操作可以在MySQLAdministator中进行,也可以由SQL语句实现。
其次,要掌握SQL中用于对表数据进行插入、修改、和删除的命令分别是INSERT、UPDATE和DELETE。
要特别注意在执行插入、删除和修改等数据更新操作时,必须保证数据完整性。
此外,还要了解使用SQL语言在对表数据进行插入、修改和删除时,比在MySQLAdministator中操作表数据更为灵活,功能更强大。
在实验2中,用于实验的YGGL数据库中的3个表已经建立,现在要将各表的样本数据添加到表中。
样本数据如表实验、表实验和表实验所示。
表实验Employees表数据样本
编号
姓名
学历
出生日期
性别
工作时间
住址
电话
部门号
000001
王林
大专
1966-01-23
1
8
中山路32-1-508
2
010008
伍容华
本科
1976-03-28
1
3
北京东路100-2
1
020010
王向荣
硕士
1982-12-09
1
2
四牌路10-0-108
1
020018
李丽
大专
1960-07-30
0
6
中山东路102-2
1
102201
刘明
本科
1972-10-18
1
3
虎踞路100-2
5
102208
朱俊
硕士
1965-09-28
1
2
牌楼巷5-3-106
5
108991
钟敏
硕士
1979-08-10
0
4
中山路10-3-105
3
111006
张石兵
本科
1974-10-01
1
1
解放路34-1-203
5
210678
林涛
大专
1977-04-02
1
2
中山北路24-35
3
302566
李玉敏
本科
1968-09-20
1
3
热河路209-3
4
308759
叶凡
本科
1978-11-18
1
2
北京西路3-7-52
4
504209
陈林琳
大专
1969-09-03
0
5
汉中路120-4-12
4
表实验Departments表数据样本
部门号
部门名称
备注
部门号
部门名称
备注
1
财务部
null
4
研发部
null
2
人力资源部
null
5
市场部
null
3
经理办公室
null
表实验Salary表数据样本
编号
收入
支出
编号
收入
支出
000001
108991
010008
020010
102201
020018
111006
308759
504209
210678
302566
102208
实验步骤:
1.使用SQL语句插入表数据
(1)向表Employees中插入记录:
。
(2)使用REPLACE语句向Departments表插入记录:
('1','广告部','负责推广产品'),并查看是否已插入。
2.使用SQL语句修改表数据
(1)使用SQL命令修改表Salary,将编号为011112的职工收入改为2890。
(2)将所有职工收入增加100。
(3)使用SQL命令删除Employees中编号为011112的职工信息。
(4)删除所有收入大于2500的员工信息。
(5)使用TRANCATETABLE语句删除Salary表中有行。
(删除后请重新插入,以后要用)
实验小结:
注意分号为英文字符下的;
在要求查询结果的属性列名用中文表示时,AS可加可不加;模糊查询时,还可用正则表达式;
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验4数据库的查询和视图
实验过程
目的要求:
(1)掌握SELECT语句的基本用法
(2)掌握子查询的表示
(3)掌握连接查询的表示
(4)掌握SELECT语句的GEOUPBY子句的作用和使用方法
(5)掌握SELECT语句的ORDERBY子句的作用和使用方法
(6)熟悉视图的概念和作用
(7)掌握视图的创建方法
(8)掌握如何查询和修改视图
实验准备:
(1)了解SELECT语句的基本语法格式
(2)了解SELECT语句执行方法
(3)了解子查询的表示方法
(4)了解查询的表示方法
(5)了解SELECT语句的GROUPBY子句的作用和使用方法
(6)了解SELECT语句的ORDERBY子句的作用
(7)了解SELECT语句的LIMIT子句的作用
(8)了解视图的概念
(9)了解创建视图的方法
(10)了解对视图的操作
实验内容:
语句的基本使用
(1)用SELECT语句查询Departmrnts表的所有记录。
(2)用SELECT语句查询Salary表的所有记录。
(3)用SELECT语句查询Departments表的部门号和部门名称列。
(4)查询Employees表中部门号和性别,要求使用DISTINCT消除重复行。
(5)查询月收入高于2000的员工号码。
(6)查询所有1970以后出生的员工的姓名和住址。
(7)查询所有财务部门的员工号码和姓名。
(8)查询Empoyees表中男员工的姓名和出生日期,要求个列标题用中文表示。
(9)查询Employees员工的姓名住址和收入水平,2000以下的显示为低收入,2000`3000的显示为中等收入,3000以上的显示为高收入。
(10)计算Salary表中员工月收入的平均数。
(11)获得Employees表中的最大的员工号码。
(12)计算Salary表中所有员工的总支出。
(13)查询财务部官员的最高和最低实际收入。
(14)找出所有其地址含有“中山”的雇员的号码及部门号。
(15)查找员工号码中倒数第二个数字为0的姓名、地址和学历。
(16)找出所有部门“1”或“2”工作的雇员的号码。
2.子查询的使用
(1)用子查询的方法查找所有收入在2500以下的雇员的情况。
(2)用子查询的方法查找研发部比财务部所有雇员收入都高的雇员的姓名。
(3)用子查询的方法查找年龄比研发部所有雇员年龄都大的雇员的姓名。
3.连接查询的使用
(1)查询每个雇员的情况及其工作部门的情况。
(2)使用内连接的方法查找不在财务部工作的所有员工信息。
(3)使用外连接方法查找所有员工的月收入。
(4)查询研发部在1966年以前出生的雇员姓名及其薪水详情。
BY、ORDERBY和LIMIT子句的使用
(1)按部门列出在该部门工作的员工的人数。
(2)按员工的学历分组,列出本科、大专和硕士的人数。
(3)按员工的工作年份分组,统计各个工作年份的人数,如工作1年的多少人,工作2年的多少人。
(4)将员工信息按出生日期从小到大排列。
(5)在ORDERBY子句中使用子查询,查询员工姓名、性别和工龄信息,要求按实际收入从大到小排列。
(6)返回Employees表中从第3位员工开始的5个员工的信息。
5.创建视图
(1)创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。
(2)创建YGGL数据库上的视图Employees_view,视图包含员工号码、姓名和实际收入。
6.查询视图
(1)从视图DS_VIEW中查询出部门号为3的部门名称。
(2)从视图Employees_view查询出姓名为“王林”的员工的实际收入。
7.更新视图
(1)向视图DS_VIEW中插入一行数据:
6,广告部,广告业务。
(2)执行完该命令使用SELECT语句分别查看视图DS_VIEW和基本表Departments中发生的变化。
(3)尝试向视图Employees_view中插入一行数据,看看会发生什么情况。
(4)修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”。
(5)执行完该命令使用SELECT语句分别查看视图DS_VIEW和基本表Departments中发生的变化。
(6)修改视图Employees_view视图中号码为000001的雇员的姓名为“王浩”。
(7)删除该视图DS_VIEW中部门号为“1”的数据。
8.删除视图
删除视图DS_VIEW。
实验小结:
注意分号为英文字符下的;在要求查询结果的属性列名用中文表示时,AS可加可不加;模糊查询时,还可用正则表达式;
用子查询方法时,可在FROM后使用;
在利用子查询方法时,可将问题分解,先写出框架,在具体实现;
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验5索引和数据完整性
实验过程
目的要求:
(1)掌握索引的使用方法
(2)掌握数据完整性的实现方法
实验准备:
(1)了解索引的作用与分类
(2)掌握索引的创建方法
(3)理解数据完整性的概念及分类
(4)掌握各种数据完整性的实现方法
实验内容:
1.创建索引
(1)在Employees表的Name列和Address列上建立复合索引。
(2)对Departments表上的DepartmentName列建立唯一性索引。
(3)使用CREATEINDEX语句能创建主键吗
不能。
(4)向Employees表中的出生日期列添加一个唯一性索引,姓名列和性别列上添加一个复合索引。
(5)假设Departments表中没有主键,使用ALTERTABLE语句将DepartmentID列设为主键。
(6)添加主键和添加普通索引有什么区别
添加主键会自动创建主键索引,普通索引需要自己手动去添加和指定,表中效率最高的索引就是主键索引
(7)创建与Departments表相同结构的表Departments1,将DepartmentName设为主键,DepartmentsID上建立一个索引。
2.删除索引
(1)使用DROPINDEX语句删除表Employees上的索引depart_ind。
(2)使用ALTERTABLE语句删除Departments上的主键和索引Dep_ind。
3.数据完整性
(1)创建一个表Employees3,只含EmployeeID、Name、Sex和Education列。
将Name设为主键,作为列Name的完整性约束。
EmployeeID为替代键,作为表的完整性约束。
(2)创建一个表Salary1,要求所有Salary表上出现的EmployeeID都要出现在Salary1表中,利用完整性约束实现,要求当删除或修改Salary表上的EmployeeID列时,Salary1表中的EmployeeID值也会随之变化。
(3)创建完Salary1表后,初始化该表的数据与Salary表相同。
删除Salary表中一行数据,再查看Salary1表的内容,看看会发生什么情况。
(4)使用ALTERTABLE语句向Salary表中的EmployeeID列添加一个外键,要求当Employees表中要删除或修改与EmployeeID值有关的行时,检查Salary表有没有该EmployeeID值,如果存在则拒绝更新Employees表。
(5)创建表Employees4,只考虑号码和性别两列,性别只能包含男或女。
(6)创建表Employees5,只考虑学号和出生日期两列,出生日期必须大于1980年1月1日。
实验小结:
添加主键时自动创建主键索引,普通索引需要自己手动去添加和指定,表中效率最高的索引是主键索引。
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验6MySQL语言结构
实验过程
目的要求:
(1)掌握变量的分类及其使用
(2)掌握各种运算符的使用
(3)掌握系统内置函数的使用
实验准备:
(1)了解MySQL支持的各种基本数据类型
(2)了解MySQL各种运算符的功能及使用方法
(3)了解MySQL系统内置函数的使用
实验内容:
1.常量的使用
(1)计算196*345。
(2)获取以下这串字符:
`I\nlove\nMySQL`.
2.系统变量的使用
(1)获得现在使用的MySQL版本。
(2)获得系统当前时间。
(3)获得系统当前日期。
3.用户变量的使用
定义一个变量,用于描述YGGL数据库中Salary员工表000001的实际收入,然后查询该变量。
4.运算符的使用
(1)使用算数运算符“-”查询员工的实际收入。
(2)使用比较运算符“<”查询Employees表中工作时间小于5年的员工信息。
(3)使用逻辑运算符“AND”查看以下语句结果:
SELECT(7>6)AND(‘A’=’B’);
5.系统内置函数的使用
(1)获得一组数组的最大值和最小值。
(数组自拟)
(2)使用ROUND()函数获得一个数的四舍五入的整数值。
(3)使用ABS()函数获得一个数的绝对值。
(4)使用SQRT()函数返回一个数的平方根。
(5)使用CONCAT函数连接两个字符串。
(6)求财务部收入最高的员工姓名。
(7)
查询员工收入的平均数。
(8)获得当前日期和时间并查询YGGL数据库中员工号为000001的员工出生年份。
(9)使用CHAR()函数将ASCII码代表的字符组成字符串。
(10)使用LEFT()函数返回从字符串‘abcdef’左边开始的3个字符。
(11)使用DAYNAME()函数返回当前时间的星期名。
(12)列举出其他的时间日期函数。
DAYOFWEEK(date)WEEKDAY(date)DAYOFMONTH(date)DAYOFYEAR(date)
MONTH(date)DAYNAME(date)MONTHNAME(date)QUARTER(date)WEEK(date,first)
YEAR(date)HOUR(time)MINUTE(time)SECOND(time)PERIOD_ADD(P,N)
DATE_ADD()DATE_SUB()ADDDATE()SUBDATE()
实验小结:
CURDATE()等同于CURRENT_DATE()
CURTIME()等同于CURRENT_TIME()
MySQL数据库技术实验报告
系别
班级
学号
姓名
地点
系别软件的
班级软件的
姓名张三
地点机房
课程名称
MySQL数据库技术
实验名称
实验7过程式数据库对象的使用
实验过程
目的要求:
(1)掌握存储过程创建和调用的方法
(2)掌握MySQL中程序片段的组成
(3)掌握游标的使用方法
(4)掌握存储函数创建和调用的方法
(5)掌握触发器的使用方法
(6)掌握事件的创建和使用方法
实验准备:
(1)了解存储过程体中允许的SQL语句类型和参数的定义方法
(2)了解存储过程的调用方法
(3)了解存储函数的定义和调用方法
(4)了解触发器的作用和使用方法
(5)了解时间的作用和定义方法
实验内容:
1.存储过程
(1)创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作。
(2)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中所占的比例。
2.存储函数
(1)创建存储函数,判断员工是否在研发部工作,若是则返回其学历,若不是则返回字符串“NO”。
(2)创建一个存储函数,将工作时间满4年的员工收入增加500。