数据表记录的操作

news2024/11/18 4:35:45

一、数据添加

1、打开SSMS附加数据库(数据库文件在自己的文件夹下面),并进行下面的设置:

(1)设置“部门信息”表中的“编号”主键SSMS

首先建立好所需的数据库库,然后右击建好的数据库打开选项建立所需的“部门信息”表,找到部门信息表,右键,选择设计,打开设计页面填入所需的数据项,设计完后找到编号,右键选择设置主键,完成设置编号为部门信息表的主键操作,保存,完成后如下图:

(2)设置“销售人员”表中的“工号”主键,并设置为自动递增(即设置成标识)。SSMS

右击建好的数据库打开选项建立所需的“销售人员”表,找到销售人员表,右键,选择设计,打开设计页面填入所需的数据项,设计完后找到工号,右键选择设置主键,完成设置工号为销售人员表的主键操作,保存,完成后如下图:

主键设置完成后,在列属性的选项中找到“表示规范”,然后将“标识规范”改为“是”,然后选择“是标识”,最后将“标识增量”和“标识种子”都设置为1,到此自动递增完成。

  1. 设置“销售人员”表中的“部门号”与“部门信息”表中的“编号”联系(主键表为“部门信息”表,外键表为“销售人员”表),并设置成级联删除相关的记录SSMS

首先打开销售人员表的设计页面,找到表中的部门号,右键,选择关系,进入关系添加页面,添加关系,找到表和列规范展开,设置主键基表为部门信息,主键列为编号,外键基表为销售人员,外键列为部门号到此主键外键关系设置完成。最后在关系属性中找到INSERT和UPDATE规范,展开,将删除规则由“不执行任何操作”改为为“级联”到此要求全部完成,操作完成图如下:

2、在“部门信息”中插入记录如下SSMS

编号

名称

经理

人数

1

计算机销售部

王飞

20

选择“部门信息表”右击,然后选择“编辑前200行”跳转到设计页面,最后在对应数据项中填入所要求的数据项,结果图如下:

3、“销售人员”表中插入记录如下SSMS

部门号

姓名

地址

电话

1

王晓明

深圳罗湖

07552585920

2

吴小丽

江西南昌

13920999999

出现什么错误?什么原因造成?如何解决?

答:出现的错误如下

造成错误的原因:没有理解外键的概念,涉及到外键时,一定有一个参照关系和被参照关系,也就是有一个参照表和被参照表。如在这创建两个表“销售人员表”表和“部门信息表”表,“销售人员表”表中有一列Cno,CNO是“部门信息表”的外键,因此在向“销售人员表”表中添加数据时,“销售人员表”表中的数据就会参照“部门信息表”表中的数据,解决方案是:在向“销售人员表”表中添加数据之前,一定要把“部门信息表”表中 的数据添加进去,否则“销售人员表”表没有可参照的数据。第二种解决方法:将“销售人员表”表中的外建约束删除。

修改方案:将“吴小丽”的数据项中的“部门号”中的“2”改为“1”(即将“销售人员表”的数据修改为参考“部门信息表”的数据。效果图如下:

4、“销售人员”表中插入记录如下SSMS

工号

部门号

姓名

地址

电话

3

1

王大明

广州市

07552585920

出现什么错误?什么原因造成?如何解决?

答:出现的错误如下:

出现错误的原因:因为在设置页面中将“工号”设置了自增长,因此“工号”是不可编辑的。解决方法是不为销售人员设置工号,它会就会进行自我增长填入,或者可以利用运行”set identity_insert 销售人员 ON”语句,在运行要插入语句,在执行”set identity_insert 销售人员 OFF”语句,以此来插入此数据。

修改图如下:

插入成功的图:

5、打开查询分析器,输入如下的命令

use marketing

go

delete from 部门信息

go

delete from 销售人员

(回答上面SQL命令的作用?)

答:此SQL命令的用于删除数据库marketing中的“部门信息表”中的所有数据以及“销售人员表”中的所有数据。use marketing表明调用marketing数据库中的数据,go的作用是分隔作用,表明此语句作用到此结束,“delete from 部门信息”表明删除“部门信息”表的所有数据项,同理:“delete from 销售人员”表明删除“销售人员”表的所有数据项且语句具有先后顺序,一个语句的执行失败不会影响另一条语句的执行。结果如下:

6、添加和删除记录

(1)添加如下的记录SSMS

部门信息

编号

名称

经理

人数

1

计算机销售部

王飞

20

2

手机销售部

张雨晨

30

销售人员表

部门号

姓名

地址

电话

1

王晓明

深圳罗湖

07552585920

1

吴小丽

江西南昌

13920999999

(2)删除部门信息表中的第一条记录,然后打开看看销售人员表中的记录发生了什么变化?想一想为什么?SSMS

答: 删除部门信息表中的第一条记录,然后打开销售人员表中的记录发现销售人员表中的数据全部都被删除了。造成这个变化的原因:主键基表为部门信息,主键列为编号,外键基表为销售人员,外键列为部门号,部门信息与销售人员拥有此关系且设置了级联删除,而级联删除就是如果父表中的记录被删除,则子表中对应的记录自动被删除。因此,当作为父表的部门信息的编号1被删除时,由于级联删除,作为子表的销售人员中部门号为1的对应记录也会被删除。

删除部门信息表中的第一条记录后的效果图如下:

二、采用SQL命令添加数据

注意:1. 每次向查询分析器中输入命令,选择后再执行;

2. 要先使用use marketing语句选定数据库再执行其它语句。)

1、打开查询分析器,输入删除“部门信息”和“销售人员”表中所有记录的SQL命令。(提示:采用DELETE FROM语句)

(1)SQL命令(删除所有记录):

删除代码如下:

use shujuku

delete from 部门信息

go

delete from 销售人员

(2)在查询分析器中,执行如下的命令:

use marketing

go

select * from 部门信息

select * from 销售人员

2、采用SQL命令“部门信息”表中添加如下的记录:

编号

名称

经理

人数

1

计算机销售部

王飞

20

2

手机销售部

张雨晨

30

3

打印机销售部

leon

25

  1. SQL命令(添加记录):

use shujuku

go

INSERT INTO 部门信息 (编号 ,名称, 经理 ,人数)

VALUES('1', '计算机销售部', '王飞','20')

INSERT INTO 部门信息 (编号 ,名称, 经理 ,人数)

VALUES('2', '手机销售部', '张雨晨','30')

INSERT INTO 部门信息 (编号 ,名称, 经理 ,人数)

VALUES('3', '打印机销售部', 'Leon','25')

select * from 部门信息

运行结果如下:

(2)在查询分析器中,输入并执行如下的命令:

use marketing

go

select * from 部门信息

执行结果如下图:

3、采用SQL命令“销售人员”表中添加如下的记录:

部门号

姓名

地址

电话

1

王晓明

深圳罗湖

07552585920

2

吴小丽

江西南昌

13920999999

  1. SQL命令(添加记录):

use shujuku

go

INSERT INTO 销售人员(部门号,姓名,地址,电话)

VALUES('1', '王晓明','深圳罗湖','07552585920')

INSERT INTO 销售人员(部门号,姓名,地址,电话)

VALUES('2', '吴小丽','江西南昌','13920999999')

执行效果图如下:

(2)在查询分析器中,输入并执行如下的命令:

use marketing

go

select * from 销售人员

执行效果图如下:

三、数据更新

采用SQL语句更新“销售人员”表中“部门号”2的记录,更新它的“姓名”为“吴羽”,更新“地址”为“广州天河”。

(1)SQL命令(更新记录):

执行的代码命令如下:

use shujuku

go

UPDATE 销售人员

SET 姓名='吴羽',地址='广州天河'

WHERE 部门号='2'

执行的代码效果图如下:

(2)在查询分析器中,输入并执行如下的命令:

use marketing

go

select * from 销售人员

执行效果图如下:

四、删除数据操作

采用SQL语句删除“销售人员”表中“姓名”为“吴羽”的销售人员。

  1. SQL命令(删除记录):

执行的代码命令为:

use shujuku

go

delete from 销售人员

where 姓名='吴羽'

代码命令执行效果图如下:

(2)在查询分析器中,输入并执行如下的命令:

use marketing

go

select * from 销售人员

执行效果图如下:

五、分离数据库并保存。(“shujuku”)

选择所要分离的数据库“shujuku”,右键,选择任务,选择分离,成功分离并保存。效果图如下:

六、给“学生管理数据库”按以下表格要求添加记录。

1、附加数据库。“学生管理数据库”

 

2、插入数据。(要求用SQL语句操作)注意:要先使用use学生管理数据库 选定数据库再执行其它语句。)

(1)学生信息表

学号

姓名

性别

出生日期

专业

所在系

联系电话

14101

杨颖

女 

1995-7-20

软件

计算机

88297147

14102

方露露

1996-1-15

软件

计算机

88297147

14103

俞奇军

1996-2-20

软件

计算机

88297151

14104

胡国强

1995-11-7

软件

计算机

88297151

SQL命令(添加记录):

 代码命令如下:

USE 学生管理数据库

INSERT INTO 学生信息表(学号,姓名,性别,出生日期,专业,所在系,电话)

VALUES('14101','杨颖','女','1995-7-20','软件','计算机','88297147')

INSERT INTO 学生信息表(学号,姓名,性别,出生日期,专业,所在系,电话)

VALUES ('14102','方露露','女','1996-1-15','软件','计算机','88297147')

INSERT INTO 学生信息表(学号,姓名,性别,出生日期,专业,所在系,电话)

VALUES('14103','俞奇军','男','1996-2-20','软件','计算机','88297151')

INSERT INTO 学生信息表(学号,姓名,性别,出生日期,专业,所在系,电话)

VALUES ('14104','胡国强','男','1995-11-7','软件','计算机','88297151')

执行效果图如下:

(2)课程信息表

课程号

课程名

教师

开课学期

学时

学分

101

计算机原理

陈红

2

45

3

102

计算方法

王颐

3

45

3

103

操作系统

徐格

2

60

4

104

数据库原理及应用

应对刚

3

75

5

SQL命令(添加记录):

代码命令如下:

USE 学生管理数据库

INSERT INTO 课程信息表 (课程号,课程名,教师,开课学期,学时,学分)

VALUES('101','计算机原理','陈红','2','45','3')

INSERT INTO 课程信息表 (课程号,课程名,教师,开课学期,学时,学分)

VALUES ('102','计算方法','王颐','3','45','3')

INSERT INTO 课程信息表 (课程号,课程名,教师,开课学期,学时,学分)

VALUES   ('103','操作系统','徐格','2','60','4')

INSERT INTO 课程信息表 (课程号,课程名,教师,开课学期,学时,学分)

VALUES('104','数据库原理及应用','应对刚','3','75','5')

执行效果图如下:

(3)成绩信息表

学号

课程号

成绩

14101

101

85

14101

102

87

14101

104

88

14102

101

58

14102

102

63

SQL命令(添加记录):

代码命令如下:

USE 学生管理数据库

INSERT INTO 成绩信息表(学号,课程号,成绩)

VALUES('14101','101','85')

INSERT INTO 成绩信息表(学号,课程号,成绩)

VALUES('14101','102','87')

INSERT INTO 成绩信息表(学号,课程号,成绩)

VALUES('14101','104','88')

INSERT INTO 成绩信息表(学号,课程号,成绩)

VALUES('14102','101','58')

INSERT INTO 成绩信息表(学号,课程号,成绩)

VALUES('14102','102','63')

执行效果图如下:

3、打开查询分析器,输入并执行如下的命令

use 学生管理数据库

go

select * from 学生信息表

select * from 课程信息表

select * from 成绩信息表

答:代码执行效果图如下:

4、分离数据库并保存。“学生管理数据库”

选择所要分离的数据库“学生管理数据库”,右键,选择任务,选择分离,成功分离并保存。效果图如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1298758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HNU计算机视觉作业三

前言 选修的是蔡mj老师的计算机视觉,上课还是不错的,但是OpenCV可能需要自己学才能完整把作业写出来。由于没有认真学,这门课最后混了80多分,所以下面作业解题过程均为自己写的,并不是标准答案,仅供参考 …

单臂路由与三层交换机

单臂路由 划分VLAN后同一VLAN的计算机属于同一个广播域,同一VLAN的计算机之间的通信是不成问题的。然而,处于不同VLAN的计算机即使是在同一交换机上,它们之间的通信也必须使用路由器。 图(a)是一种实现VLAN间路由的方…

ubuntu上搭建bazel编译环境,构建Android APP

背景是github上下载的工程,说明仅支持bazel编译,折腾了一天Android studio,失败。 不得不尝试单价bazel编译环境,并不复杂,过程记录如下 说明:ubuntu环境是20.04,pve虚拟机安装 1.安装jdk sudo…

docker-compose安装教程

1.确认docker-compose是否安装 docker-compose -v如上图所示表示未安装,需要安装。 如上图所示表示已经安装,不需要再安装,如果觉得版本低想升级,也可以继续安装。 2.离线安装 下载docker-compose安装包,上传到服务…

如何将html网页免费转为excel?

一、直接复制。 直接复制是最简单有效、快捷的解决方案,操作方法如下: 1、用鼠标像平常复制文本一样,将整个网页表格选中。 2、点击右键,点击“复制”。 3、打开excel软件,鼠标点击任意单元格。 4、点击右键&#…

leetcode7 移除列表中特定元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…

【Cisco Packet Tracer】路由器 NAT实验

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。 静态转换是指内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器。 [3] 动态转换是指…

springboot+java医保付费绩效管理平台ssm

随着社会的飞速发展,特别是信息技术的迅猛发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势。当然,也不能排除医保付费及绩效管理行业。随着网络技术的不断成熟,医保付费及绩效管理的发展得到了促…

Wireshark添加自定义协议解析

最终效果如下: 参考文档:https://mika-s.github.io/topics/ 此参考文档中7个例子教我们如何编写lua脚本去识别我们自定义的协议 安装Wireshark https://www.wireshark.org/上下载安装包安装即可。我的安装路径是D:\Install\Wireshark,在W…

nodejs+vue+微信小程序+python+PHP北京地铁票务APP-计算机毕业设计推荐 -安卓

根据现实中在北京地铁票务方面的需求,并对该系统进行了仔细的研究,将系统权限按照管理者和用户这两种类型进行了区分。 (1)用户功能需求   用户进入APP可以进行系统首页、地铁线路、我的等操作,在我的页面可以对我的…

解释Spring中一个bean的注入过程

目录 1、定义Bean: XML配置方式: 2、注入方式: 构造器注入(Constructor Injection): Setter方法注入(Setter Injection): 字段注入(Field Injection&…

Linux数据库修改密码的三种方式

1、正常修改密码 [rootzaotounan ~]# mysqladmin -uroot -p原密码 password 新密码 2、忘记mysql root用户密码 更改 vim /etc/my.cnf //进入my.cnf文件 skip-grant-tables //添加语句,跳过授权表 systemctl restar…

VisualSVN Server的安装全过程

目录 背景: 安装过程: 步骤1: 步骤2: 步骤3: 步骤4: 步骤5: 安装出现的bug: 问题: 解决办法: 总结: 背景: VisualSVN Server 是一款免费的 SVN (Subversion) 服务器软件&#xff0c…

【智能家居】智能家居项目

智能家居项目目录 项目目录结构 完整而典型的项目目录结构 CMake模板 CMake编译运行 README.md 项目说明文档 智能家居项目目录 【智能家居】面向对象编程OOP和设计模式(工厂模式) 【智能家居】一、工厂模式实现继电器灯控制 【智能家居】二、添加火灾检测模块(…

用python 网络自动化统计交换机有多少端口UP

用python统计交换机有多少端口UP 用python统计交换机有多少端口UP,可以间接的反馈有多少个用户在线。我们使用上次的脚本将可达的网络设备ip统计到reachable_ip.txt中,这次我们使用reachable_ip.txt来登陆设备来统计多少端口是UP的 云配置 拓扑 交换机…

创建dockerSwarm nfs挂载

创建dockerSwarm nfs挂载 nfs高可用部署(lsyncd两主机双向同步) nfs高可用部署(lsyncd三主机三向同步) 1. 通过 Volume 1.1 创建 Docker Volume 每个 swarm 节点均创建相同名称的 Docker Volume(名称为 nfs120) docker volume create --driver local …

PyTorch实现逻辑回归

最终效果 先看下最终效果: 这里用一条直线把二维平面上不同的点分开。 生成随机数据 #创建训练数据 x torch.rand(10,1)*10 #shape(10,1) y 2*x (5 torch.randn(10,1))#构建线性回归参数 w torch.randn((1))#随机初始化w,要用到自动梯度求导 b …

[Linux] Apache的配置与运用

一、web虚拟主机的构台服务器上运行多个网站,每个网站实际上并不独立占用整个服务器,因此称为"虚拟"虚拟主机的虚拟主机服务可以让您充分利用服务器的硬件资源,大大降低了建立和运营网站的成本 Httpd服务使构建虚拟主机服务器变得容…

[LeetCode周赛复盘] 第 119 场双周赛20231209

[LeetCode周赛复盘] 第 119 场双周赛20231209 一、本周周赛总结100130. 找到两个数组中的公共元素1. 题目描述2. 思路分析3. 代码实现 100152. 消除相邻近似相等字符1. 题目描述2. 思路分析3. 代码实现 100147. 最多 K 个重复元素的最长子数组1. 题目描述2. 思路分析3. 代码实…

数据结构之归并排序及排序总结

目录 归并排序 归并排序的时间复杂度 排序的稳定性 排序总结 归并排序 归并排序大家只需要掌握其递归方法即可,非递归方法由于在某些特殊场景下边界难控制,我们一般很少使用非递归实现归并排序。那么归并排序的递归方法我们究竟是怎样实现呢&#xff…