《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx

上传人:b****4 文档编号:16539873 上传时间:2022-11-24 格式:DOCX 页数:21 大小:80.49KB
下载 相关 举报
《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx_第1页
第1页 / 共21页
《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx_第2页
第2页 / 共21页
《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx_第3页
第3页 / 共21页
《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx_第4页
第4页 / 共21页
《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx

《《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx》由会员分享,可在线阅读,更多相关《《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

《MySQL数据库技术》实验报告11150004 常赵有1 2文档格式.docx

在对某个数据库进行操作之前,必须先选中该数据库。

在MySql安装过程中,注意修改字符集为gb2312或gbk,以支持中文信息输入。

计科1102

实验2创建数据库和表

目的和实验要求:

(1)了解MySQL数据库中的存储引擎分类

(2)了解表的结构特点

(3)了解MySQL的基本数据类型

(4)了解空值的概念

(5)学会在MySQL界面工具中创建数据库和表

(6)学会使用SQL语句创建数据库和表

1.实验题目

创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。

数据库YGGL包含下列三个表:

(1)Employees:

员工信息表

(2)Departments:

部门信息表

(3)Salary:

员工薪水情况表

表实验2.1Employees表结构

列名

数据类型

长度

是否允许空值

说明

Employees

char

6

员工编号,主键

name

10

姓名

education

4

学历

birthday

date

16

出生日期

sex

2

性别

workyear

tinyint

1

工作时间

address

varchar

20

地址

phonenumber

12

电话

departmentID

3

员工部门号,外键

表实验2.2Departments表结构

部门编号,主键

departmentName

部门名

note

text

备注

表实验2.3Salary表结构

employmeeID

Income

float

8

收入

Outcome

支出

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,来避免因已存在而致使无法成功创建的情况发生。

对于创建表及删除数据库、表时,类同。

实验3表数据插入、修改和删除

(1)学会在界面管理工具中对数据库表进行插入、修改和删除数据操作

(2)学会用SQL语句对数据库进行插入、修改和删除数据操作

(3)了解数据更新操作时要注意数据完整性

(4)了解SQL语句对表数据操作的灵活控制功能

分别使用MySQLAdministator和SQL语句,向在实验2建立的数据库YGGL的表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录。

使用SQL进行有效的修改和删除。

  首先,了解对表数据的插入、删除、修改都属于表数据的更新操作。

对表数据的操作可以在MySQLAdministator中进行,也可以由SQL语句实现。

  其次,要掌握SQL中用于对表数据进行插入、修改、和删除的命令分别是INSERT、UPDATE和DELETE。

  要特别注意在执行插入、删除和修改等数据更新操作时,必须保证数据完整性。

  此外,还要了解使用SQL语言在对表数据进行插入、修改和删除时,比在MySQLAdministator中操作表数据更为灵活,功能更强大。

在实验2中,用于实验的YGGL数据库中的3个表已经建立,现在要将各表的样本数据添加到表中。

样本数据如表实验3.1、表实验3.2和表实验3.3所示。

表实验3.1Employees表数据样本

编号

住址

部门号

000001

王林

大专

1966-01-23

中山路32-1-508

010008

伍容华

本科

1976-03-28

北京东路100-2

020010

王向荣

硕士

1982-12-09

四牌路10-0-108

020018

李丽

1960-07-30

中山东路102-2

102201

刘明

1972-10-18

虎踞路100-2

5

102208

朱俊

1965-09-28

牌楼巷5-3-106

108991

钟敏

1979-08-10

中山路10-3-105

111006

张石兵

1974-10-01

解放路34-1-203

210678

林涛

1977-04-02

中山北路24-35

302566

李玉敏

1968-09-20

热河路209-3

308759

叶凡

1978-11-18

北京西路3-7-52

504209

陈林琳

1969-09-03

汉中路120-4-12

表实验3.2Departments表数据样本

部门名称

财务部

null

研发部

人力资源部

市场部

经理办公室

表实验3.3Salary表数据样本

2100.8

123.09

3259.98

281.52

1582.62

88.03

2860.0

298.0

2569.88

185.65

2347.68

180.0

1987.01

79.58

2531.98

199.08

2066.15

108.0

2240.0

121.0

2980.7

210.2

1980.0

100.0

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可加可不加;

模糊查询时,还可用正则表达式;

实验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语句的基本使用

(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年以前出生的雇员姓名及其薪水详情。

4.GROUPBY、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。

用子查询方法时,可在FROM后使用;

在利用子查询方法时,可将问题分解,先写出框架,在具体实现;

实验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日。

添加主键时自动创建主键索引,普通索引需要自己手动去添加和指定,表中效率最高的索引是主键索引。

常赵有

实验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()

实验7过程式数据库对象的使用

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

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

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

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

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

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

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

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

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

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

(5)了解时间的作用和定义方法

1.存储过程

(1)创建存储过程,要求当一个员工的工作年份大于6年时将其转到经理办公室工作。

(2)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中所

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1