您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页实验3:使用SQL语句创建并管理数据库、数据表

实验3:使用SQL语句创建并管理数据库、数据表

来源:爱go旅游网
云南大学软件学院 实验报告

课程: 数据库原理与实用技术实验 学期: 2011-2012学年 第 二 学期 任课教师: 张云春 专业: 软件工程 学号: 20111120300姓名: 陈迁 成绩:

实验3使用SQL语句创建并管理数据库、数据表

一、实验目的 (1) 掌握查询分析器的使用方法。 (2) 掌握T-SQL语句的基本使用。 (3) 熟练掌握DDL语句。 (4) 熟练掌握DML(Insert, Delete, Update)语句。

二、实验内容

1、 用T-SQL语句创建并管理数据库“Employee数据库”,数据库要求见实验二。 记录创建数据库的SQL语句。 /*创建employee数据库*/ create database employee on (

name='employee_data',

filename='D:\\employee.mdf', size=10, maxsize=50, filegrowth=10% )

执行结果如下图所示:

log on /*数据库的日志文件*/ (

name='employee_log',

filename='D:\\employee.ldf', size=5, maxsize=25, filegrowth=10 )

执行结果如下图所示:

1

2、 修改数据库:将“Employee数据库”的数据库最大容量更改为无(UNLIMITED),然后将

“Employee数据库”的日志文件增长方式改为2MB。

记录SQL语句。 --数据库最大容量更改为无 alter database employee modify file (

name=employee_data,

filename='D:\\employee.mdf', maxsize=unlimited )

执行结果如下图所示:

2

--日志文件增长方式改为2MB alter database employee modify file (

name=employee_log,

filename='D:\\employee.ldf', filegrowth=2 )

执行结果如下图所示:

3、 用T-SQL语句在“Employee数据库”创建数据表,数据表的结构见实验二。 记录创建表的SQL语句。 --在该数据库中创建部门表Department create table Department (

Deptno char(4) not null, Dname varchar(10) not null, primary key(Deptno) )

执行结果如下图所示:

--在该数据库中创建Person表 create table Person (

Pno char(6) not null,

Pname varchar(10) not null, Sex char(2) not null, Birthday datetime null, Prof varchar(10) null, Deptno char(4) not null, primary key (Pno),

foreign key(Deptno)references Department(Deptno) ) 执行结果如下图所示:

3

--在该数据库中创建Salary表 create table Salary (

Pno char(6) not null,

Base dec(5) check(Base>=300) null , Bonus dec(5)check(Bonus>=50) null, Month int not null, Fact dec null,

primary key(Pno,Month) )

执行结果如下图所示:

4、 修改表结构:将雇员信息表person中,Prof的字段长度改为15。 记录SQL语句。 --修改Person表结构

alter table Person alter column Prof varchar(15)/*Prof的字段长度改为15*/ 执行结果如下图所示:

4

5、 向表中添加记录,使用Insert Into 语句分别向四张表中添加符合表结构属性的数据记录,要

求每张表至少4条记录,并显示所添加的记录数据。 --向Department表中添加数据记录

insert into Department(Deptno,Dname)values('001','营销部') insert into Department(Deptno,Dname)values('002','财务部') insert into Department(Deptno,Dname)values('003','市场部') insert into Department(Deptno,Dname)values('005','生产部') insert into Department(Deptno,Dname)values('004','信息部') insert into Department(Deptno,Dname)values('006','证券部') 执行结果如下图所示:

--向Person表中添加记录数据。

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000007','陈胜','男',1972-6-7,'初级','004')

insert into Salary(Pno,Base,Bonus,Month,Fact)values('000007',320,56,11,376)

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000008','谭维维','女',1978-12-7,'高级','005')

insert into Salary(Pno,Base,Bonus,Month,Fact)values('000008',528,56,9,528+56)

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000009','马天宇','男',1982-1-22,'初级','006')

insert into Salary(Pno,Base,Bonus,Month,Fact)values('000009',310,56,7,310+56)

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000010','高鹏','男',1988-4-22,'中级','005')

insert into Salary(Pno,Base,Bonus,Month,Fact)values('000010',410,86,7,410+86)

-------------------------------------------------------------------------------------------

--向雇员信息表person中添加记录

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000001','田林','男',1982-4-7,'初级','001')

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000002','郭达','男',1953-2-14,'高级','001')

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000003','王琳','女

5

',1984-8-25,'初级','002')

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000004','王辉','男',1984-5-11,'初级','002')

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000005','罗大右','男',1968-12-10,'高级','002')

insert into Person(Pno,Pname,Sex,Birthday,Prof,Deptno) values('000006','蔡琴','女',1978-4-20,'中级','003') 执行结果如下所示:

--向salary表中添加记录数据

insert into Salary(Pno,Base,Bonus,Month,Fact)values('000001',300,50,1,350) insert into Salary(Pno,Base,Bonus,Month,Fact)values('000002',500,110,2,610) insert into Salary(Pno,Base,Bonus,Month,Fact)values('000003',310,58,3,368) insert into Salary(Pno,Base,Bonus,Month,Fact)values('000004',313,55,5,368) insert into Salary(Pno,Base,Bonus,Month,Fact)values('000005',520,100,10,620) insert into Salary(Pno,Base,Bonus,Month,Fact)values('000006',420,80,12,500) 执行结果如下图所示:

6

6、 向雇员信息表person中添加记录

完成如下操作: (1)、修改表中记录:将“王辉”的部门修改为“003”; --将王辉部门修改为003 update Person set Deptno='003' where Pname='王辉' 执行结果如下图所示:

(2)、删除记录:删除表中性别为“女”的员工记录; --删除表中性别为“女”的员工记录 delete from Salary where Pno in(select Pno from Person where Sex='女') delete from Person where Sex='女' 执行结果如下图所示:

7

(3)、删除表:将“person”从“Employee数据库”中删除。 --将“person”从“Employee数据库”中删除

--将“person”从“Employee数据库”中删除 delete from Person

执行结果如下:

三、思考题

现执行: DELETE FROM department WHERE Depton='001'执行结果如何?为什么?

insert into Person values('000001','田林','男',1982-4-7,'初级','001') insert into Person values('000002','郭达','男',1953-2-14,'高级','001') insert into Person values('000003','王琳','女',1984-8-25,'初级','002')

执行结果如下:

DELETE FROM department WHERE Depton='001'

不可以删除,结果如下:

原因:Deptno在Person中属于外键,与表Person有关联,具有约束关系,固不可以删除。

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务