SQL Server
一、实验目的
- 1)熟悉management studio环境。
- 2)掌握management studio环境下创建数据库和表的操作。
- 3)运用SQL语句创建数据库;运用SQL创建表;
- 4)查看数据库和表。
二、实验内容
- 1)熟悉SQL Server 2008 management studio环境。
- 2)在management studio环境下创建XSCJ数据库。
- 3)在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。
- 4)在XSQK、KC、XS_KC表中输入数据。
- 5)运用SQL语句重复上述实验内容。
三、实验要求
- 1)参考课本第76页操作,在SQL Server 2008 R2 的 Management Studio中,按步骤创建用户数据库。
- 2)运用SQL语句创建用户数据库。
- 3)根据表1-1所示的表结构增加新列。
表1-1 学生情况表XSQK的结构
列名 | 数据类型 | 长度 | 是否允许为空值 | 默认值 | 说明 |
---|---|---|---|---|---|
学号 | Char | 6 | N | 主键 | |
姓名 | Char | 8 | N | ||
性别 | Bit(tinyint) | 1 | N | 男1,女0 | |
出生日期 | smalldatetime | 4 | N | ||
专业名 | Char 10 | N | |||
所在系 | Char | 10 | N | ||
联系电话 | char | 11 | Y |
- 4)点击快捷工具栏上的快捷按钮,在弹出的"选择名称"对话框中输入表名XSQK,然后单击"确定"按钮,关闭表编辑器窗口,完成新表的创建。
- 5)打开"表"对象,在"SQL Server Enterprise Manager"窗口的右边窗口中选择刚才创建的"XSQK"表。
- 6)选择"操作"菜单中的"打开表"子菜单下的"返回所有行"命令,打开表的数据记录窗口。
- 7)输入的学生情况数据记录见表1-2。
学号 | 姓名 | 性别 | 出生日期 | 专业 | 所在系 | 联系电话 |
---|---|---|---|---|---|---|
020101 | 杨颖 | 0 | 1980-7-20 | 计算机应用 | 计算机 | 88297147 |
020102 | 方露露 | 0 | 1981-1-15 | 计算机应用 | 计算机 | 88297147 |
020103 | 俞奇军 | 1 | 1980-2-20 | 信息管理 | 计算机 | 88297151 |
020104 | 胡国强 | 1 | 1980-11-7 | 信息管理 | 计算机 | 88297151 |
020105 | 薛冰 | 1 | 1980-7-29 | 水利工程 | 水利系 | 88297152 |
020201 | 秦盈飞 | 0 | 1981-3-10 | 电子商务 | 经济系 | 88297161 |
020202 | 董含静 | 0 | 1980-9-25 | 电子商务 | 经济系 | 88297062 |
020203 | 陈伟 | 1 | 1980-8-7 | 电子商务 | 经济系 | 88297171 |
020204 | 陈新江 | 1 | 1980-7-20 | 房建 | 水利系 | 88297171 |
表1-2 学生情况记录
- 8)同理建课程表KC,表的结构见表1-3所示,表的内容见表1-4所示。
表1-3 课程表KC的结构
列名 | 数据类型 | 长度 | 是否允许为空值 | 默认值 | 说明 |
---|---|---|---|---|---|
课程号 | Char | 3 | N | 主键 | |
课程名 Char | 20 | N | |||
教师 | Char | 10 | |||
开课学期 | Tinyint | 1 | 只能1-6 | ||
学时 | Tinyint | 1 | 60 | ||
学分 | Tinyint | 1 | N |
表1-4 课程表记录
课程号 | 课程名 | 教师 | 开课学期 | 学时 | 学分 |
---|---|---|---|---|---|
101 | 计算机原理 | 陈红 | 2 | 45 | 3 |
102 | 计算方法 | 王颐 | 3 | 45 | 3 |
103 | 操作系统 | 徐格 | 2 | 60 | 4 |
104 | 数据库原理及应用 | 应对刚 | 3 | 75 | 5 |
105 | 网络基础 | 吴江江 | 4 | 45 | 3 |
106 | 高等数学 | 孙中文 | 1 | 90 | 6 |
107 | 英语 | 陈刚 | 1 | 90 | 6 |
108 | VB程序设计 | 赵红韦 | 3 | 70 | 5 |
- 9)同理建成绩表XS_KC,表的结构见表1-5所示,表的内容见表1-6所示。
表1-5 成绩表XS_KC的结构
列名 | 数据类型 | 长度 | 是否允许为空值 | 默认值 | 说明 |
---|---|---|---|---|---|
学号 | Char | 6 | N | 外键 | |
课程号 | Char | 3 | N | 外键 | |
成绩 | Tinyint | 1 | 0-100之间 |
表1-6 成绩表XS_KC的记录
学号 | 课程号 | 成绩 |
---|---|---|
020101 | 101 | 85 |
020101 | 102 | 87 |
020101 | 107 | 88 |
020102 | 101 | 58 |
020102 | 102 | 63 |
020104 | 107 | 76 |
020202 | 103 | 55 |
020202 | 108 | 80 |
020203 | 103 | 57 |
020204 | 103 | 71 |
四、实验过程
图形化界面完成此实验
- (1)首先安装SQL Server的环境,这里我安装的是SQL Server2019,之后安装SQL的管理工具来方便对数据库进行系统化的管理,当然也可以使用命令行界面进行命令行操作。这里题目要求基本使用图形化界面进行操作:
这里使用连接工具连接本机数据库,数据账号密码选择SQL Server身份验证进行登录。
这里即可看到已经连接到了本机SQL Server,下面我们开始实验操作:
- (2)使用图形化界面进行创建数据库XSCJ:
- (3)这里数据库已经按要求创建完毕,下面我们添加表:
首先我们来创建XSQK表,根据表格中的内容以及是否可以为空等等来建表
然后我们进行保存创建的新表:
下面我们来创建KC表,依然是根据表中要求创建:
以及最终的XS_KC表:
- (4)下面我们图形化界面来创建主键以及外键,同时,外键必须唯一:
到这里我们表头已经创建完毕:
- (5)往表中输入数据以便之后的使用:
此时我们即可看到已经成功的创建了表格已经输入数据:
之后我们想要进行修改以及删除直接在表上修改以及右键表格进行删除即可。
使用SQL语句进行创建数据库、表格,修改数据库内容、删除数据库
- (1)这里首先点击新建查询进行输入代码执行即可:
这里即可创建完成。
- (2)在已经创建成功的数据库中直接进行信件查询输入创建表格代码并输入数据:
首先我们创建XSQK表格并进行输入数据执行,这里之所以没有一次性输入所有表格数据以及代码,因为首先我们进行了测试,防止之后出现错误而无法找出。
这里直接执行即可创建完成XSQK表以及输入其中数据。
- (3)下面接着创建KC表以及XS_KC表:
直接执行可以看到执行成功,下面我们进行查看创建完成的表格:
这里即可看到创建成功。
- (4)使用SQL语句进行修改删除表与数据:
修改删除表:
首先这里我们先看表本来的结构:
好的,下面我们数据SQL语句进行修改表的结构等等:
sql
ALTER TABLE KC ADD ID INT; 在KC表中添加ID这一列,并数据类型为INT;
ALTER TABLE KC ADD ZY CHAR; 在KC表中添加ZY这一列,同时数据类型为INT;
ALTER TABLE KC DROP COLUMN ZY; 在KC表中删除ZY这一列;
SELECT * FROM KC; 输出KC表所有内容。
这里即可看到已经成功执行并输出KC表所有内容。
创建表由于之前创建KC展示了,这里仅展示删除表:
语句即为:DROP TABLE KC;
修改删除表中数据的内容:
此时为未执行代码的图片,下方表格为原表格:
代码:
sql
UPDATE KC
SET 课程号 = 102
WHERE 课程名 = '计算机方法'; 更新条件为课程名=计算机方法的数据的课程号为102;
DELETE FROM KC WHERE 课程号 = 103; 删除KC表中课程号=103的数据;
DELETE FROM XSQK; 删除该数据库中的XSQK表;
SELECT * FROM KC; 输出KC表所有数据。
下图为执行之后结果:
这里可以看到已经删除了课程号为103的数据,刚才由于未注意到课程名为计算方法以及原课程号就为102,所以我将重新创建SQL语句来进行测试:
执行结果:
实验结束,实验要求全部达成。
五、实验心得与体会:
在完成这个数据库实验的过程中,我首先深入熟悉了SQL Server 2019 Management Studio的工作环境。通过连接到数据库服务器,我掌握了如何创建数据库和表的基本操作,这为将来的数据库管理打下了坚实的基础。
在创建XSCJ数据库的过程中,我逐步了解了数据库设计的重要性。学生情况表(XSQK)、课程表(KC)、学生成绩表(XS_KC)的创建是一个有序而逻辑的过程。通过定义表的结构,我深刻体会到数据库设计对于数据的组织和管理的关键性。这不仅仅是对SQL语句的简单应用,更是对数据模型和关系的理解。
在数据的输入阶段,我感受到了数据库的实际应用价值。将学生信息、课程信息和学生成绩有机地存储在各自的表中,让我看到了数据库在管理和检索大量数据时的高效性。同时,通过SQL语句对这些数据进行查询,我体验到了数据库查询的强大功能,这对于日常数据分析和决策支持至关重要。
最后,通过使用SQL语句查看已创建的数据库和表,我对如何监控和维护数据库有了更深入的了解。这次实验不仅使我掌握了基本的数据库操作技能,还培养了我对数据库设计和管理的兴趣。这个实验是一个极好的学习过程,为我未来在数据库领域的深入学习和应用奠定了基础。