SQL Server——数据与表的操作

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语句查看已创建的数据库和表,我对如何监控和维护数据库有了更深入的了解。这次实验不仅使我掌握了基本的数据库操作技能,还培养了我对数据库设计和管理的兴趣。这个实验是一个极好的学习过程,为我未来在数据库领域的深入学习和应用奠定了基础。

相关推荐
青木沐8 分钟前
Jenkins介绍
运维·jenkins
WTT001143 分钟前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋31 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li1 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
BUG 4042 小时前
Linux——Shell
linux·运维·服务器
别致的影分身2 小时前
使用C语言连接MySQL
数据库·mysql