当前位置:文档之家› 数据库实验三作业及答案.docx

数据库实验三作业及答案.docx

实验3 SQL Server 数据表的管理
一、实验目的
1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。

2.学会在企业管理器中对表进行插入、修改和删除数据操作。

3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。

4.了解SQL Server的常用数据类型。

二、实验准备
1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。

2.掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATE TABLE)操作。

三、实验内容及步骤
1.启动企业管理器,展开studentsdb数据库文件夹。

2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。

图1-2 学生基本情况表student_info
图1-3 课程信息表curriculum
图1-4 学生成绩表grade
3.在企业管理器中创建student_info、curriculum表。

4.在企业管理器中,将student_info表的学号列设置为主键,非空。

5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。

CREATE TABLE grade
(学号varchar(4),
课程编号varchar(4),
分数decimal(5,0)
)
6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。

图1-5 student_info的数据
图1-6 curriculum的数据
图1-7 grade的数据
7.在企业管理器中为student_info、curriculum、grade表添加数据。

8.使用Transact_SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入以下数据:
学号课程编号分数
0004 0001 80
答; CREATE TABLE grade
(学号 char(4),
课程编号 char(4),
分数 decimal
)
INSERT INTO grade VALUES('0004','0001','80')
9.使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

答:ALTER TABLE curriculum
ALTER COLUMN 课程编号 char(4) NOT NULL
10.使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。

答:ALTER COLUMN 分数 real
11.使用Transact_SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为archar(10),非空。

答:ALTER TABLE student_info
ALTER COLUMN 姓名学生姓名
ALTER TABLE student_info
ALTER COLUMN 学生姓名 varchar(10) NOT NULL
12.分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb数据库的grade表中学号为'0004'的成绩记录。

答:DELETE grade WHERE 学号='0004'
13.使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为'0003'、课程编号为'0005'、分数为90的成绩记录。

答:UPDATE grade SET 分数=90
WHERE 学号='0003' and 课程编号='0005'
14.使用Transact_SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。

答:ALTER TABLE grade ADD 备注 VARCHAR(20) NULL
15.分别使用企业管理器和Transact_SQL语句DROP TABLE删除studentsdb数据库中的grade表。

答:DROP TABLE grade
四、实验思考
1.使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。

DELETE FROM grade Where 学号='0004'
UPDATE grade SET 分数=90 WHERE 学号='0003' and 课程编号='0005'
ALTER TABLE grade ADD 备注 VARCHAR(20) NOT NULL
2.在企业管理器中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?怎样避免该情况的发生?
答:出现红色的感叹号。

将数据一行一行的输入就可以避免。

知识改变命运。

相关主题