课程: 数据库原理与实用技术实验 学期: 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务