首页计算机计算机软件SQLServer2005数据库技术及应用 09 第9章 编辑维护表数据及SQL Server的数据传输服务.pptx

09 第9章 编辑维护表数据及SQL Server的数据传输服务.pptx

页数:18页文件大小:707.3 KB来源: SQLServer2005数据库技术及应用ppt课件

本章介绍表数据的编辑维护方法,涵盖用INSERT语句插入部分列、省略列名和用子查询提供数据的三种方式,用UPDATE修改单行多行及带子查询的更新,用DELETE删除指定行,以及TRUNCATE TABLE快速清空表的注意事项;最后概述DTS数据转换服务及其导入导出向导的用途。

第9章编辑维护表数据及数据传输服务章封面,源文件仅提取到书名页眉,章标题据次页目录补全
第9章编辑维护表数据及DTS目录页,列出INSERT、UPDATE、DELETE、TRUNCATE TABLE与DTS等七节
9.1用INSERT语句向表中添加数据的T-SQL示例代码,主要代码为 INSERT[INTO]{table_name|view_name}{[
查看本课件的文字版(共 18 页,供检索与复制)

第1页:第9章表数据编辑与DTS

数据库技术及应用

第2页:第9章目录:表数据与DTS

第9章编辑维护表数据及SQLServer的数据传输服务

  • 9.1使用INSERT语句向表中添加数据
  • 9.2使用UPDATE修改表中数据
  • 9.3使用DELETE删除表中数据
9.4使用TRUNCATETABLE清空表
  • 9.5使用SQLServerManagementStudio管理表中数据
  • 9.6DTS概述
  • 9.7数据传输服务向导

第3页:9.1用INSERT语句向表中添加数据

9.1用INSERT语句向表中添加数据INSERT语句的基本语法结构如下:INSERT[INTO]{table_name|view_name}{[(column_list)]{VALUES({DEFAULT|NULL|expression}[,...n])|derived_table}参数说明:
table_name|view_name
需要插入数据的表名或视图名。
column_list
要在其中插入数据的列的名称列表:
VALUES:为要插入行的column_list提供数据。
  • {DEFAULT|NULL|expression}:向列插入默认值、空值或数值表达式。
derived_table:任何有效的SELECT子查询。

第4页:【例9.1】向JWGL数据库

9.1用INSERT语句向表中添加数据1.插入部分数据值的INSERT语句【例9.1】向JWGL数据库中的teacher表插入一行数据(’T01’,’张天清’,’男’,’1956-4-23’,’信息系’,’教授’)。USEJWGLGOINSERTINTOteacher(teacher_id,name,sex,birthday,department_id,profession)VALUES(’T01’,’张天清’,’男’,’1956-4-23’,’信息系’,’教授’)GO因为插入的数据少了表中最后两列的对应数值,所以必须声明列名与其列值相对应。另外插入的值一定要与其对应的列的数据类型相一致,字符型数据一定要加上引号。注意事项: 将VALUES子句中的值按照INTO子句中指定列名的顺序插入到表中。
  • 对于INTO子句中没有出现的列,则新插入的记录在这些列上将取空值。
  • 在表定义时有NOTNULL约束的属性列不能取空值。
用INSERTINTOVALUES依次只能插入一行数据。

第5页:【例9.2】向JWGL数据库

9.1用INSERT语句向表中添加数据2.省略列名的INSERT语句【例9.2】向JWGL数据库中的student表插入一行数据(‘20030101’,’陈红’,’女’,’1983-02-10’,’200301’,’南京市石门坎106号’)USEJWGLGOINSERTINTOstudentVALUES(’T01’,’张天清’,’男’,’1956-4-23’,’信息系’,’教授’)GO在这个例子中没有指定列名,则新插入的记录必须在每个属性列上均有值,且VALUES子句中值的排列顺序要和表中各属性列的排列顺序一致。

第6页:【例9.3】将所有南京学生基本信息存放在

9.1用INSERT语句向表中添加数据3.用SELECT查询提供数据的INSERT语句【例9.3】将所有南京学生基本信息存放在新表Njstudent中。首先创建新表:USEJWGLGOCREATETABLEnjstudent(student_idchar(8)notnull,namenvarchar(8)notnull,sexchar(2)notnull,birthdaysmalldatetimenotnull,class_idchar(6),home_addrnvarchar(40))GO然后利用子查询查出数据并插入新表中:INSERTINTOnjstudentSELECT*FROMstudentWHEREhome_addrlike‘南京%’这种查询多用于表间的拷贝,将一个表中的数据抽取数行插入到另一表中。

第7页:9.2使用UPDATE修改表中数据

9.2使用UPDATE修改表中数据UPDATE是用来修改表中已经存在的数据。它可以指定要修改的列和想赋予的新值,而且通过给出检索匹配数据行的WHERE子句,还可以修改指定的数据列。UPDATE语句的基本语法结构如下:UPDATE{table_name|view_name}SETcolumn_name={expression|DEFAULT|NULL}[,...n][WHEREsearch_condition>]参数说明:
table_name|view_name
要修改的表名或视图名。
column_name
含有要更改数据的列的名称。
expression|DEFAULT|NULL
要赋予的新值。
search_condition
说明需要修改的行的条件。

第8页:【例9.4】将陈红同学的班级号改

9.2使用UPDATE修改表中数据1.修改一行的UPDATE语句【例

9.4】将陈红同学的班级号改为“200302”。UPDATEstudentSETclass_id=‘200302’WHEREname=’陈红’GO2.修改多行的UPDATE语句【例

9.5】将职称为“助教”的老师的工资涨500元。UPDATEteacherSETsalary=salary+500WHEREprofession=’助教’GO如果没有指定WHERE条件,则将所有老师的工资都涨500元。

第9页:【例9.6】把讲授C1课程的教师的工资涨

9.2使用UPDATE修改表中数据3.用子查询选择要修改的行的UPDATE语句【例

9.6】把讲授C1课程的教师的工资涨100元。UPDATEteacherSETsalary=salary+100WHEREteacher_idIN(SELECTteacher_idfromteachingwherecourse_id=’C1’)GO该查询用到了嵌套语句,同学们可以参考后面章节的内容加以理解。4.用子查询提供要修改的值的UPDATE语句【例 9.7】把沈雪转到陈红所在的班级。UPDATEstudentSETclass_id=(selectclass_idfromstudentwherename=’陈红’)Wherename=‘沈雪’GO子查询的作用是查到陈红所在的班级号。

第10页:9.3使用DELETE删除表中数据

9.3使用DELETE删除表中数据DELETE语句的基本语法结构如下:DELETE[FROM]{table_name|view_name}[WHERE<search_condition>]参数说明:

table_name|view_name
要删除的表名或视图名。
search_condition
说明要删除的行的条件。使用DELETE语句删除表中数据大致可分为以下几种情况。

第11页:【例9.8】删除王飞老师的记录

9.3使用DELETE删除表中数据1.删除一行的DELETE语句【例9.8】删除王飞老师的记录。DELETEFROMteacherWHEREname=’王飞’GO2.删除多行的DELETE语句【例9-9】删除所有老师的授课记录.DELETEFROMteachingGO注意事项:
  • DELETE语句只删除表中的数据,而表的结构依然保存在数据字典中。
DROP语句则将表结构及表中数据一起删除。

第12页:【例9.10】删除李凡同学的所有成绩

9.3使用DELETE删除表中数据3.用子查询选择要删除的行的DELETE语句【例9.10】删除李凡同学的所有成绩。DELETEFROMresultWHEREstudent_id=(selectstudent_idfromstudentwherename=’李凡’)GO该查询用到了嵌套语句,同学们可以参考后面章节的内容加以理解。

第13页:【例9.11】把course表中的所有记

9.4使用TRUNCATE TABLE清空表TRUNCATETABLE语句能够删除表中的所有数据,只留下表的定义,而且TRUNCATETABLE语句执行起来通常要比DELETE语句快。使用TRUNCATETABLE语句的基本语法结构如下:TRUNCATEtable_name【例9.11】把course表中的所有记录删除。USEJWGLGOTRUNCATEcourseGO注意事项:TRUNCATETABLE操作不进行日志的记录,所以删除数据后无法恢复。

第14页:【例9.11】把course表中(续)

9.4使用TRUNCATE TABLE清空表TRUNCATETABLE语句能够删除表中的所有数据,只留下表的定义,而且TRUNCATETABLE语句执行起来通常要比DELETE语句快。使用TRUNCATETABLE语句的基本语法结构如下:TRUNCATEtable_name【例9.11】把course表中的所有记录删除。USEJWGLGOTRUNCATEcourseGO注意事项:TRUNCATETABLE操作不进行日志的记录,所以删除数据后无法恢复。

第15页:用SSMS管理表中数据

9.5使用SQL Server ManagementStudio管理表中数据注意事项:

  • 利用SQLServerManagementStudio向表输入数据时一定要一行一行的输入,切不可一列一列的输入,否则可能会导致错误而无法完成数据录
  • 如果因为上述原因出现错误而又无法用SQLServerManagementStudio删除错误行,那么就用DELETE语句删除。

第16页:9.6DTS概述

9.6DTS概述9.6.1DTS简介大多数机构都有数据的多种存储格式和多个存储位置。为了支持决策制订、改善系统性能或更新现有系统,数据经常必须从一个数据存储位置移动到另一个存储位置。SQLServer2005数据转换服务(DTS)提供了一组工具,使您可以将数据从不同的源提取、转换和合并到一个或多个目标。DTS是一组可用来在一个或多个数据源(如MicrosoftSQLServer、MicrosoftExcel或MicrosoftAccess)之间导入、导出和转换异类数据的工具。连接是通过OLEDB(一种数据访问开放标准)提供的。ODBC(开放式数据库连接)数据源则是通过用于ODBC的OLEDB提供程序支持的。

第17页:DTS概述(续)

9.6DTS概述9.6.2DTS所支持的数据库传输对象在不同的数据源之间(如Foxpro和SQLServer之间),DTS提供的功能只能移动表及其所包含的数据。但如果是在SQLServer2005数据库之间传输,则不但可以传输表和表中数据,而且可以方便的将基于传输表的索引、视图、登录帐户、存储过程、触发器、规则、约束等数据库对象一起传递。SQLServer提供的DTS所支持的数据源包括:

  • SQLServer数据库
  • ODBCData数据源
  • MicrosoftAccess数据库
  • MicrosoftFoxpro数据库
  • DBase或Paradox数据库
  • MicrosoftExcel电子表
  • ASCII定长字段文本文件

第18页:9.7数据传输服务向导

9.7数据传输服务向导数据传输服务向导是SQLServer提供的非常简单实用的工具,分导入向导和导出向导。利用这两个向导,可以实现数据的导入、导出、数据格式的转换、数据库对象的导入、导出等功能。9.7.1数据传输导入向导利用数据传输导入向导可以将别的数据源中的数据导入到SQLServer数据库中,并实现数据格式的转化。9.7.2数据传输导出向导利用数据传输导出向导可以将SQLServer数据库中的数据导出到别的数据库中。

顶部目录