昆明理工大学数据库报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理》上机实验报告

专业:自动化、测控

学号:

姓名:

班级:

指导老师:

昆明理工大学信息工程与自动化学院

2014年12月

一、实验目的与要求:

●熟练使用SQL定义子语言、操纵子语言命令语句

●掌握关系模型上的完整性约束机制

●掌握一定的数据库管理技术

●能完成简单的数据库应用开发

二、实验内容及学时安排(总学时:8)

(一)数据定义子语言实验(2学时)

实验1:利用SQL语句创建Employee数据库

程序:create database employee

结果:

实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary 及部门表dept。

要求:按表1、表达、表3中的字段说明创建

表1 person表结构

表2 salary表结构

表3 dept表结构

程序:

create table dept(

Deptno char(4)not null,

Dname varchar(10)not null,

)

create table person(

P_no char(6)not null primary key, P_name varchar(10)not null,

Sex Char(10)not null,

Birthdate date null,

Prof varchar(10)null,

Deptno char(4)not null,

Foreign key (Deptno)References dept(Deptno)

)

create table salary(

P_no char(6)not null primary key, Base Dec(5)null,

Bonus Dec(5)null,

Fact Dec(5)null,

Month Int not null,

Foreign key (P_no)References person(P_no)

)

结果:

(二)数据操纵子语言实验(4学时)

实验3:利用SQL语句向表person、salary和dept中插入数据。

要求:按表4、表5、表6中的数据插入。

表4 表person中的数据

values('000001','王云','男','1973-4-7','中级','0001')

其他person表的数据插入同上。

结果:

表5 表salary中的数据

程序:insert into salary

values ('000001','2100','300','2400','1')

其他salary表的数据插入同上。

结果:

表6 表dept中的数据

insert into dept

values ('0001','人事部')

其他dept表的数据插入同上。

结果:

实验4:(1)利用SQL语句修改表中的数据。

要求:将salary表中工号为000006的员工工资增加为1800元,奖金增加为160元。

程序:update salary

set Base=1800,Bonus=160

where P_no=000006

结果:

(2)利用SQL语句删除表中的数据。

要求:删除person表中工号为000007的员工数据。

程序:delete

from person

where P_no=000007

结果:

(3)利用SQL语句查询person表中的所有数据。

程序:select *

from person

结果:

实验5:条件查询

要求:

(1)查询person表中所有不重复的职称。

程序:select distinct prof

from person

结果:

查询p erson表中职称为中级的所有员工数据。

程序:select *

from person

where Prof='中级'

结果:

(2)查询person表中具有高级职称的男员工信息。程序:select *

from person

where Prof='高级'and sex='男'

结果:

(3)查询person表中姓名为王云、谢志文、罗向东的员工数据。程序:select *

from person

where p_name='王云'or p_name='谢志文'or p_name='罗向东'

结果:

实验6:使用ORDER BY排序

要求:利用SQL语句将工号在000003和000006之间的员工的月收入按实发工资升序排序。

程序及结果如下:

实验7:利用SQL语句查询各部门的实发工资总数。

程序及结果如下:

实验8:利用SQL语句查询人事部所有员工信息。

程序:

select*

from person

where deptno=0001

结果:

实验9:表的内连接查询:

要求:利用SQL语句查询person表中职称为中级的员工信息。

程序及结果如下:

实验10:表的外连接查询:

要求:利用SQL语句查询每个员工1 月份的工资和奖金

程序及结果如下:

实验11:子查询:

要求:利用SQL语句查询比工号为000005的员工实发工资高的所有员工信息。

程序及结果如下:

相关文档
最新文档