SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)

实验名称:数据库表的基本操作与表内数据操作

实验目的:

  1. 掌握数据库表创建方法(交互式、T-SQL法)
  2. 掌握修改数据库表结构的方法
  3. 掌握删除数据库表的方法
  4. 掌握交互式EXCEL文件录入数据至数据库表的方法
  5. 掌握T-SQL语句向数据库表中插入数据的方法
  6. 掌握修改与删除数据库表中数据的方法
  7. 掌握选择性复制数据库表的方法

实验意义:

  1. 通过实验学习,对于SQL Server中数据库表的基本创建方法,通过交互式与T-SQL语句熟练数据库表的创建、设计、修改与删除。
  2. 针对数据库的操作内容,通过反复练习数据库的数据录入、修改与删除等功能,熟练对表中数据的基本操作。导入数据、更新数据、删除数据与提取复制数据是数据库表中常用的操作内容。

实验内容:

  1. 创建数据库表与修改结构
  2. 删除数据库表
  3. 录入数据至数据库表
  4. 修改与删除数据
  5. 复制数据
  6. 习题练习

实验步骤:

  • 数据库表的创建与结构修改

在对象资源管理器内选择需要操作的数据库,右击表文件,选择新建表。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第1张图片

接下来设置表内结构,设计表的列名与列的数据类型,并设计其是否能为空值。

设置前需要先了解主要的字符类型与其存储空间如下。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第2张图片

基于nchar为双字节类型,更适合于亚洲字体的存放,因此将列名为中文字符的均采用nchar数据类型,括号内的数字即设置最大存放多少个中文字符。

注意:TNO与TN为教师名称和教师号,这两列数据不能为空值,可作为候选键。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第3张图片

接下来对设计完毕的数据库表进行保存操作,并设置名称。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第4张图片

最后可对设置完毕的数据库表进行查看。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第5张图片

在对象资源管理器内可以查看到列信息,各列的列名称与数据类型。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第6张图片

接下来再采用交互式方法创建学生表S如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第7张图片

采用T-SQL语句创建课程表C,需要再对象资源管理器上方选择该语句执行的数据库区域为WJN。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第8张图片

刷新之后可以看到数据库WJN内存在三个所创建的表格

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第9张图片

再采用同样的方法创建学生选课表SC表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第10张图片

T-SQL语句创建老师授课表TC表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第11张图片

接下来是对表的设计操作,通过右击表,选择设计,可以修改表的结构

接下来是对S表的NATIVE列属性修改,将其改为char(40),并且设置其为不允许为空值

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第12张图片

选择保存,但是弹出来警告语句,显示无法保存,需要在工具中进行设置

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第13张图片SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第14张图片

找到Designers,打开后,取消勾选“组织保存要求重新创建表的更改”

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第15张图片

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第16张图片

再次保存之后,即可成功修改表S

接下来再次修改NATIVE内数据类型,修改数据类型长度为16,并且允许有空值

  • 删除数据库表 

右击数据库表,选择设计,然后选中某列然后右击,选中删除列,即可把改列删除。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第17张图片

采用T-SQL语句增加列NATIVE,并设置其列属性

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第18张图片

在对象资源管理器中刷新之后可以看到表S中列已经存在,并且属性信息也可以看出

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第19张图片

T-SQL语句修改列NATIVE属性信息如下:

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第20张图片

修改完成后再次在对象资源管理器中刷新后可以看出属性信息已经变化

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第21张图片

对表整体的删除操作

右击表TC,选中删除,并在弹出的界面点击确定

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第22张图片SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第23张图片

在对象资源管理器中刷新后可以看出表TC已经不存在

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第24张图片

采用T-SQL语句对TC表进行删除操作

其中删除语句前加上语句USE WJN GO,通过该语句设置了T-SQL查询语句的空间。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第25张图片

  • 录入数据至数据库表

设置待录入数据在EXCEL表格中,自定义录入数据如下表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第26张图片

在数据库中右击选中任务,并点击导入数据

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第27张图片

设置导入数据的数据源为Microsoft Excel

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第28张图片

在电脑文件夹中选择待导入的表格文件

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第29张图片

点击下一步操作

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第30张图片

但弹出消息为无法导入,原因是该版本为SQL 2008 R2,只支持

Microsoft Excel格式为.xls格式的表格文件,因此无法导入.xlsx格式文件

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第31张图片

接下来对原始excel表格文件进行修改,将格式另存为.xls后缀

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第32张图片

再次执行导入数据步骤,点击下一步发现可以顺利执行该过程

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第33张图片

查看数据库为默认的WJN数据库,因此继续执行下一步操作

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第34张图片

选择复制一个或多个表或视图的数据,点击下一步

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第35张图片

 

 

 

接下来可以选择设置直接导入输出目标的表,也可以编辑映射,通过源数据直接导出到新建的表中,下图先展示编辑映射的方法建立新表格

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第36张图片

对照原始S表中属性信息,在对新的Sheet$表中设置相同的属性信息,点击编辑,采用T-SQL语句对属性信息进行设置

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第37张图片

对应修改完成后如下图所示,不仅修改字符类型,长度,且修改了是否可以为空值选项

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第38张图片

之后点击预览

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第39张图片

可以对比初始excel表格,发现数据无缺失、错误,点击确定

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第40张图片

点击下一步继续执行,立即运行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第41张图片

点击完成

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第42张图片

最后显示执行成功

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第43张图片

可以单击右下角的“报告”,点击“查看报告”

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第44张图片

可以看出均运行成功

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第45张图片

最后在SQL中对该表右击,选中“查看前一千行”进行查看信息,可以看出与初始待导入的excel表完全相同。

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第46张图片

再回到刚才提到的导入数据映射的步骤,接下来是直接导出到目标表S内,可以不用编辑映射,因为S表已经存在各列极其属性信息,单击下一步

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第47张图片

 

 

无视这些警告,继续点击下一步执行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第48张图片

接下来显示执行成功,关闭该界面

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第49张图片

在对象资源管理器内右击表S,选择查看前一千行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第50张图片

可以看出该表与excel表相同,正常运行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第51张图片

采用同上的方法,继续导入其他表格如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第52张图片

由于T表已经在我们之前删除操作中被删除,因此选用编辑映射的方法,直接由excel表格导入生成规定新建格式的新表,命名为T

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第53张图片

执行后,可以看出执行成功

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第54张图片

查看信息,可以看出顺利生成了T表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第55张图片

接下来是利用T-SQL语句对表格单行或批量多行导入信息的操作

采用INSERT INTO C VALUES可以进行插入单行数据,如下图

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第56张图片

接下来是批量插入多行数据,需要在表后添加表的列名信息,各行信息用逗号隔开

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第57张图片

该语句执行后即可批量插入多行信息。

 

 

 

  • 修改与删除数据

先进行交互式修改数据,右击表S,点击编辑前200行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第58张图片

将王小明的DEPT信息由“计算机”改为“地信”

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第59张图片

刷新后即可看到表内信息发生改动

 

接下来是采用T-SQL语句将教师“刘雪”职称改为副教授

下图可看出教师刘雪修改前的信息

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第60张图片

运行该T-SQL语句,修改表T信息

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第61张图片

可以看出职称信息已经成功被修改

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第62张图片

 

交互式删除表S的某行信息,右击表S,选择编辑前两百行

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第63张图片

右击张鹏,点击删除

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第64张图片

刷新后,查看表内信息,可以看出张鹏的信息已经成功被删除

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第65张图片

采用T-SQL语句删除教师表内刘雪老师信息

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第66张图片

刷新后,查看表内信息,可以看出刘雪的信息已经成功被删除

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第67张图片

  • 复制数据

采用T-SQL语句将表S复制到新表TEST1内

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第68张图片

运行成功后,刷新可以看出该表已存在

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第69张图片

查看该表信息,与原表信息相同

将T表中性别为‘男’提取教师名称,性别,年龄与职称至新表TEST2中

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第70张图片

展示提取前T表内的为性别为男的信息如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第71张图片

可以看出将教师刘帅提取复制到新表内,并获得了想要的属性信息

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第72张图片

  • 习题练习

习题3题目如下:

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第73张图片

选做题目为1,2,4,5,6

首先采用交互式方法将数据导入至SC表内

先在excel中将前五行数据存储为.xls格式

接下来在数据库WJN中选择导入数据

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第74张图片

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第75张图片

设置目标数据库表为SC表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第76张图片

继续进行下一步

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第77张图片

显示执行成功

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第78张图片

最后在SQL内查看SC表信息,对照原始数据,信息无误

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第79张图片

接下来是利用T-SQL语句批量插入表后五行数据如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第80张图片

最后对表SC进行查看,得到最终的全表信息

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第81张图片

用T-SQL语句对S表中计算机系的全体学生岁数增加一岁

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第82张图片

对比结果,左图为增加岁数前,右图为增加岁数后:

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第83张图片SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第84张图片

提取数据库表SC中分数小于60分成绩的到新表makeup_s中,T-SQL语句如下图

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第85张图片

查看生成的makeup_s表,可以看出并未提取出表信息,因为原表中所有成绩均大于60分

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第86张图片

再删除成绩小于20分的代码如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第87张图片

结果仍为空表

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第88张图片

  • 总结
        1. 数据库表的导入数据过程中,对于高版本的excel, SQL并不能兼容,需要转化为后缀名.xls的格式才能顺利完成数据的导入。
        2. 在完成实验3的过程中,采用T-SQL的INSERT INTO导入数据时,若多次执行导入数据,会导致数据库中出现多行重复数据,但是采用交互式语句并不能直接删除重复数据只保留一个非重复数据,因此需要采用编号分组的方法对多行重复表内数据。

以下进行举例实现该过程:

先利用T-SQL语句内插入与之前数据一样的几行数据,得到多行重复数据表格

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第89张图片

运行完成后,查看SC表,可以看出出现了多行重复数据,因此我们需要进行去除重复的数据,只保留非重复数据

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第90张图片

新建PD作为区分,按照PD特有标识进行分组举例实现

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第91张图片

一.删除完全重复数据:在新建查询内将该数据库表进行编号,再按相同行进行分组,分组完成后对每组不是最小的数进行删除

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第92张图片

再对原始表进行ID去除

运行之后即得到我们最初始想要的10行的结果

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第93张图片

二.删除部分重复数据:在新建查询内将该数据库表进行编号,再按相同行进行分组,每个分组中取最小的数生成到新的表中

对SC表中再加入一行重复数据进行举例模拟如下

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第94张图片

代码执行如下:

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第95张图片

结果仍然达到要求

SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)_第96张图片

你可能感兴趣的:(sql,数据库)