数据表记录的操作

一、数据添加

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、分离数据库并保存。“学生管理数据库”

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

  • 41
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空心木偶☜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值