表的操作与管理

一、实验目的

1.熟悉SQL的数据操纵功能并通过DML(数据库操作语言)实现。

 DML包括数据查询和数据更新两种数据操作语句。其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、数据维护等操作。

2.了解DML语言的INSERT、UPDATE、DELETE的操作,学会在SQL Server 2019查询分析器中用DML语言对表中的进行数据插入

二、实验仪器

计算机、SQL Server 2019软件, U盘(学生自备)。

三、实验原理

在企业管理器中实现表的创建和修改等工作及使用T—SQL语句:INSERT、DELETE及UPDATE来实现数据表数据的插入、修改及删除。

四、实验内容与步骤

1.打开数据库SQL Server 2019的企业管理器,向表xs,kc,xs_kc中插入记录。(自行编辑记录然后进行实验操作,验证并观察结果)

2.打开数据库SQL Server 2019的查询分析器,用INSERT语句向表中插入记录并在查询分析器窗体下完成以下题目,分别运行,观察结果

(1)用INSERT语句向表中插入记录并在查询分析器窗体下完成以下题目,分别运行,观察结果:

将一个新学生记录(学号:95020;姓名:陈冬;性别:男;年龄:18;所在系:IS;)插入到xs表中。

(2)在xscj数据库中利用企业管理器建立TXGC表,表结构与xs表结构相同。

(3)将“通信工程-‘CE’”专业的所有学生的所有信息存入TXGC表中。

3.利用查询分析器用UPDATE语句更改表中数据。完成以下题目,分别运行,观察结果。

(1)将学号为001106的学生的年龄改为22岁。

(2)将所有学生的年龄增加1岁。

(3)将计算机科学系全体学生的成绩置零。

(4)将xs表中学号为001110的学生的备注列值改为“三好学生”。

(5)将xs表中的所有学生的总学分都增加10分

4. 利用查询分析器用DELETE语句删除表中数据。完成以下题目,分别运行,观察结果。

(1)删除学号为001102的学生记录。

(2)删除计算机科学系所有学生的选课记录。

(3)删除xs_kc中成绩不及格的学生记录。

(4)删除所有学生的选课记录。

五、小结

    本次实验主要对数据库中的数据进行查询、统计、分组、排序等操作其中查询操作可以使用select语句,而*指的是全体记录,where子句的使用细化了查询的范围,使用group by子句将查询结果分组可以细化聚集函数的作用对象。还可以使用嵌套查询增强SQL的查询能力。在数据更新时,可以用insert语句插入数据、update语句修改数据、delete语句删除语句。在用语句建表时要注意使用英文符号,否则程序会报错。

实验题目:表的操作与管理

一、实验目的

1.熟悉SQL的数据操纵功能并通过DML(数据库操作语言)实现。

 DML包括数据查询和数据更新两种数据操作语句。其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、数据维护等操作。

2.了解DML语言的INSERT、UPDATE、DELETE的操作,学会在SQL Server 2019查询分析器中用DML语言对表中的进行数据插入

、实验内容与步骤

1.打开数据库SQL Server 2019的企业管理器,向表xs,kc,xs_kc中插入记录。(自行编辑记录然后进行实验操作,验证并观察结果)

xs表:

kc表:

xs_kc表:

2.打开数据库SQL Server 2019的查询分析器,用INSERT语句向表中插入记录并在查询分析器窗体下完成以下题目,分别运行,观察结果

(1)用INSERT语句向表中插入记录并在查询分析器窗体下完成以下题目,分别运行,观察结果:

将一个新学生记录(学号:95020;姓名:陈冬;性别:男;年龄:18;所在系:IS;)插入到xs表中。

代码:insert into dbo.xs

values('95020','陈冬','男','18','IS',null);

  1. 在xscj数据库中利用企业管理器建立TXGC表,表结构与xs表结构相同。

  1. 将“通信工程-‘CE’”专业的所有学生的所有信息存入TXGC表中。

3.利用查询分析器用UPDATE语句更改表中数据。完成以下题目,分别运行,观察结果。

(1)将学号为001106的学生的年龄改为22岁。

更改前:

更改后:

代码:update dbo.xs

set sbirth=22

where sno='001106';

  1. 将所有学生的年龄增加1岁。

更改前:

更改后:

代码:update dbo.xs

set sbirth=sbirth+1;

  1. 将计算机科学系全体学生的成绩置零。

更改后:

代码:update dbo.xs_kc

set grade=0

where sno in

(

select sno

from dbo.xs

where sdept='is'

);

  1. 将xs表中学号为001110的学生的备注列值改为“三好学生”。

代码:update dbo.xs

set remark='三好学生'

where sno='001110';

  1. 将xs表中的所有学生的总学分都增加10分

代码:update dbo.xs

set scredit=scredit+10;

4. 利用查询分析器用DELETE语句删除表中数据。完成以下题目,分别运行,观察结果。

(1)删除学号为001102的学生记录。

删除前:

删除后:

代码:delete

from dbo.xs

where sno='001102';

  1. 删除计算机科学系所有学生的选课记录。

删除前:

删除后:

代码:delete

from dbo.xs_kc

where sno in

(select sno

from dbo.xs

where sdept='is'

);

  1. 删除xs_kc中成绩不及格的学生记录。

删除后:

代码:delete

from dbo.xs_kc

where grade<60;

  1. 删除所有学生的选课记录。

代码:delete

from dbo.xs_kc;

、实验数据的记录及处理

以上操作内容使用SQL语句编程并运行成功后,将程序进行记录,并写在报告纸上。

2.(1)代码:

insert into dbo.xs

values('95020','陈冬','男','18','IS',null);

3.(1)代码:

update dbo.xs

set sbirth=22

where sno='001106';

3.(2)代码:

update dbo.xs

set sbirth=sbirth+1;

3.(3)代码:

update dbo.xs_kc

set grade=0

where sno in

(select sno

from dbo.xs

where sdept='is');

3.(4)代码:

update dbo.xs

set remark='三好学生'

where sno='001110';

3.(5)代码:

update dbo.xs

set scredit=scredit+10;

4.(1)代码:

delete

from dbo.xs

where sno='001102';

4.(2)代码:

:delete

from dbo.xs_kc

where sno in

(select sno

from dbo.xs

where sdept='is'

);

4.(3)代码:

delete

from dbo.xs_kc

where grade<60;

4.(4)代码:

delete

from dbo.xs_kc;

、思考题

1.drop与delete用法的区别是什么?

答:(1)Drop一般用于删除整体性数据,如表,模式,索引,视图,完整性限制等;delete用于删除局部性数据,如表中的某一元组。drop是数据库定义语言(ddl),操作立即生效delete语句是数据库操作语言(dml)

2Drop是删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。Delete只删除内容、释放空间但不删除定义,而delete即可以对行数据进行删除,也可以对整表数据进行删除。

Delete语句不影响表所占用的extent,高水线保持原位置不动。Drop语句将表所占用的空间全部释放。

  1. insert与create用法的区别是什么?

答:create table 是创建表,定义表中有哪些字段,字段的类型,长度等(当然也包括一些约束条件,例如:主键,外键等),也就是定义表的结构;但是,insert into是往定义好的表结构插入实际的数据。

  1. alter与update用法的区别是什么?

答:alter是DDL语句,update是DML语句
alter多用来更改表的架构, 或者修改存储过程,修改视图
update是用来修改表内的数据.

  • 实验过程中遇到的问题及解决方法

本次实验是熟悉SQL的数据操纵功能并通过DML(数据库操作语言)实现并熟练使用delete、insert、update等语句在插入一组数据时,由于存在空值,导致了在直接插入时不匹配而报错,在查阅了书之后发现空值处要用null表示,因此顺利完成了这个操作。在将计算机科学系全体学生的成绩置零时,由于涉及到的两个表需要用嵌套查询,其中对连接处的语句和格式还有些陌生,因此在这里耽误了很多时间,而嵌套查询也是一个重点,需要多练习从而解决这个难题。

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值