上机实验指导_实验内容和思考参考答案_SQL_Server_2005实践教程学习
时间:2025-07-10
时间:2025-07-10
sql server 上机指导要求
数据库技术与应用实践教程-SQL Server 2005
上机实验指导(实验思考)—参考答案
实验1:安装及管理工具使用
略。
实验2:SQL Server数据库的管理
二、实验内容及步骤
4.单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。
CREATE DATABASE studb
ON
( NAME=studb_dat,
FILENAME='C:\DataBase\studb.mdf')
EXEC sp_helpdb
5.在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。
ALTER DATABASE studb
sql server 上机指导要求
MODIFY FILE (NAME=studb_data, SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 1MB)
6.在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。
ALTER DATABASE studb
ADD LOG FILE(NAME = studb_log2, FILENAME=studb_log2.ldf, SIZE = 5MB, MAXSIZE = 10MB)
8.使用Transact-SQL语句DROP DATABASE删除student_db数据库。
DROP DATABASE student_db
实验3 SQL Server数据表的管理
二、实验内容及步骤
5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。
CREATE TABLE grade (
[学号] [char] (4) NULL,
[课程编号] [char] (4) NULL ,
[分数] [char] (5) NULL
sql server 上机指导要求
) ON [PRIMARY]
8.使用Transact-SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入数据: 学号为0004,课程编号为0001,分数为80。
INSERT grade VALUES ('0004','0001', '80')
9.使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。
ALTER TABLE curriculum
ALTER COLUMN课程编号NOT NULL
10.使用Transact-SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。
ALTER TABLE grade
ALTER COLUMN分数real
11.使用Transact-SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为vachar(10),非空。
alter table student_info add 学生姓名 varchar(10) NOT NULL;
sql server 上机指导要求
update student_info set 学生姓名=姓名;
alter table student_info drop column 姓名;
12.分别使用SQL Server管理平台和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.分别使用SQL Server管理平台和Transact-SQL语句DROP TABLE删除studentsdb数据库中grade表。
DROP TABLE studentsdb.dbo.grade
sql server 上机指导要求
三、实验思考
1.使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。
ALTER TABLE grade DROP COLUMN 备注
实验4 数据查询
二、实验内容及步骤
2.在studentsdb数据库中使用SELECT语句进行基本查询。
(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。
SELECT 学号, 姓名, 出生日期 FROM student_info
(2)查询学号为0002 的学生的姓名和家庭住址。
SELECT 姓名, 家庭住址 FROM student_info WHERE 学号 = '0002'
(3)找出所有男同学的学号和姓名。
SELECT 学号, 姓名 FROM student_info WHERE 性别 = '男'
3.使用SELECT语句进行条件查询
(1)在grade表中查找分数在80~90范围内的学生的学号和分数。
SELECT 学号, 分数 FROM grade WHERE (分数
sql server 上机指导要求
BETWEEN 80 AND 90)
(2)在grade表中查询课程编号为0003的学生的平均分。 SELECT avg(分数) AS 平均分 FROM grade WHERE (课程编号 = '0003')
(3)在grade表中查询学习各门课程的人数。
SELECT 课程编号, COUNT(*) AS 人数 FROM grade GROUP BY 课程编号
(4)将学生按出生日期由大到小排序。
SELECT * FROM student_info ORDER BY 出生日期 DESC
(5)查询所有姓“张”的学生的学号和姓名。
SELECT * FROM student_info WHERE 姓名 LIKE '张%'
4.对student_info表,按性别顺序列出学生的学号、姓名、性别、出生日期及家庭住址,性别相同的按学号由小到大排序。
SELECT 学号, 姓名, 性别, 出生日期, 家庭住址
FROM student_info
ORDER BY 性别, 学号
5.使用GROUP BY查询子句列出各个学生的平均成绩。 SELECT 学号, SUM(分数) / COUNT(*) AS 平均成绩
sql server 上机指导要求
FROM grade
GROUP BY 学号
6.使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。
图1-8 联合查询结果集
SELECT 学号 AS u_编号, 姓名 AS u_名称
FROM student_info
WHERE (姓名 LIKE '张%')
UNION
…… 此处隐藏:4004字,全部文档内容请下载后查看。喜欢就下载吧 ……上一篇:2011上期考试座次表八年级