实验一 数据库和表的建立、数据操作
一、实验目的:
掌握使用 SQL 语言进行数据定义和数据操纵的方法。
二、实验要求:
建立一个数据库 stumanage,建立三个关系表 student,course,sc。向表中插入
数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。
三、实验步骤:
1、 开始→程序→Microsoft SQL Server→SQL Server Management Stdio。
2、 在“连接到服务器”对话框中,选择“Windows 身份验证”,点击“连接”,进
入SQL Server Management Stdio操作界面。采用如下两种方式之一建立数据库。
3、 在“对象资源管理器”中右击“数据库”,在“新建数据库”对话框中输入数
据库名称 stumanage,设置数据库文件初始大小为 5M,限制文件增长 50M,
日志文件初始大小设为 2M,限制文件增长 5M,并更改文件存储路径。
4、 单击“新建查询”按钮,在 SQL 查询窗口中输入 SQL 语句,建立数据库
stumanage。然后单击工具栏上“执行”按钮(红色叹号)。下部的空白区显示
该语句的运行情况,将建立数据库的 SQL 语句写入实验报告。(注:以下操作
均在上部的空白区输入 SQL 语句,单击执行后,下部的空白区显示该语句的
运行情况。)
5、在 stumanage 数据库中,如下图建立表 student:
列名 数据类型 允许空 主键 说明
1 sno Char(8) 否 是 学号
2 sname Varchar(20) 是 否 姓名
3 sex Char(2) 是 否 性别
4 sdept Varchar(20) 是 否 所在系
USE stumanage;
GO
CREATE TABLE student (
sno CHAR(8) NOT NULL PRIMARY KEY,
sname VARCHAR(20) NULL,
sex CHAR(2) NULL,
sdept VARCHAR(20) NULL
);
GO
如下图建立表:course
列名 数据类型 允许空 主键 说明
1 cno Char(6) 否 是 课程号
2 cname Varchar(20) 是 否 课程名
CREATE TABLE stumanage.dbo.course (
cno CHAR(6) NOT NULL PRIMARY KEY,
cname VARCHAR(20) NULL
);
如下图建立表 sc:(注:包括两个外键,sno 和 cno 共同组成主键)2
列名 数据类型 允许空 主键 外键 说明
1 sno Char(8) 否 是 students(sno) 学号
2 cno Char(6) 否 是 course(cno) 课程号
3 grade int 否 否 否 成绩
CREATE TABLE stumanage.dbo.sc (
sno CHAR(8) NOT NULL,
cno CHAR(6) NOT NULL,
grade INT NOT NULL,
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES stumanage.dbo.student(sno),
FOREIGN KEY (cno) REFERENCES stumanage.dbo.course(cno)
);
6、将三条建表语句写入实验报告。
7、在 student 表中插入两条数据:
(1)20050101,王飞,男,计算机系
(2)20050102,李丽,女,信息系
INSERT INTO student VALUES ('20050101', '王飞', '男', '计算机系');
INSERT INTO student VALUES ('20050102', '李丽', '女', '信息系');
8、在 course 表中插入两条数据:
(1)01,数据结构
(2)02,数据库原理
INSERT INTO course VALUES ('01', '数据结构');
INSERT INTO course VALUES ('02', '数据库原理');
9、在 sc 表中插入两条数据:
(1)20050101,01,70
(2)20050102,02,90
10、将此八条 SQL 语句写入实验报告。
11、对每一门课,求学生的平均成绩,并把结果以基本表的形式存入数据库。将操
作命令和所用 SQL 语句写入实验报告。
CREATE TABLE stumanage.dbo.average_grade (
cno CHAR(6) PRIMARY KEY,
average_grade FLOAT
);
INSERT INTO stumanage.dbo.average_grade (cno, average_grade)
SELECT cno, AVG(grade) AS average_grade
FROM stumanage.dbo.sc
GROUP BY cno;
12、修改 sc 表中 sno 为 20050102、cno 为 02 的记录的 grade 属性值为 85,然后将
该条记录删除。将此两条 SQL 语句写入实验报告。
UPDATE stumanage.dbo.sc
SET grade = 85
WHERE sno = '20050102' AND cno = '02';
DELETE FROM stumanage.dbo.sc
WHERE sno = '20050102' AND cno = '02';
13、修改‘数据库原理’课程的所有学生成绩为 0。将此条 SQL 语句写入实验报告。
UPDATE stumanage.dbo.sc
SET grade = 0
WHERE cno = '02'
14、删除‘李丽’的所有选课情况。
DELETE FROM stumanage.dbo.sc
WHERE sno = '20050102'
15、删除数据库中的三个表中的所有数据,将所用 SQL 语句写入实验报告。
DELETE FROM stumanage.dbo.student;
DELETE FROM stumanage.dbo.course;
DELETE FROM stumanage.dbo.sc;
16、删除数据库中的三个表结构。将所用 SQL 语句写入实验报告。
DROP TABLE stumanage.dbo.student;
DROP TABLE stumanage.dbo.course;
DROP TABLE stumanage.dbo.sc;
17、删除数据库,将所用语句写入实验报告。
DROP DATABASE stumanage;
四、实验报告注意事项及要求:
1、实验报告一律用“石家庄铁道大学实验报告纸”书写。
2、实验报告中明确写明姓名、班级、学号、实验时间、实验名称等各项表头。
3、实验报告各项完整:实验名称、实验内容、实验完成情况(包括实验设计思想、
主要技术问题的处理方法、实验过程等)、其他(说明、分析、建议、体会等)。
体会:通过这个实验,我深入了解了数据库管理系统中的一些重要概念和操作。在创建表时,我学会了如何定义列、设置主键和外键约束以及处理数据类型。在插入数据时,我熟悉了如何使用INSERT语句向表中添加记录。在更新和删除数据方面,我学会了如何使用UPDATE和DELETE语句来修改和删除表中的记录。此外,我还学会了如何计算平均值和批量更新数据,以及如何删除整个表的结构和数据。
在执行这些操作时,我更加深入地理解了数据库的结构和关系,以及如何使用SQL语言来操
标签:和表,dbo,sno,数据库,stumanage,5.22,SQL,cno From: https://www.cnblogs.com/yindantong/p/18258706