如何使用常用的6种方式对数据进行转换(一)
 
实验目标:
1、 使用T-SQL语句对数据进行转换。
2、 使用备份和还原对数据进行转换。
3、 使用分离和附加对数据进行转换。
4、 使用复制对数据进行转换。(重点讲解)
5、 使用SSIS导入和导出向导对数据进行转换。
6、 使用SSIS包设计器对数据进行转换(重点讲解,推荐使用)
 
实验步骤:
注意:下面所有的操作都将对以下表格进行更改
clip_p_w_picpath002
 
1、 使用T-SQL语句对数据进行转换。
 
Select into语句的使用
SELECT (Transact-SQL)从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列并添加到一个新表中。虽然 SELECT 语句的完整语法较复杂,但其主要子句可归纳如下: [ WITH <common_table_expression>] SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE ...
例如:将所有员工工资大于6000的人员赛选除了并添加到一个新表newtable中,并只要Name和Salary两列。
使用语句为:“select name,salary into newtable from mytable
where salary &gt; 6000 ; ”
clip_p_w_picpath004
 
Insert select语句的使用
Insert select (Transact-SQL)从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列并添加到一个现有的表中。虽然 Insert select 语句的完整语法较复杂,但其主要子句可归纳如下: [ WITH <common_table_expression>] Insert [ INTO old_table ] select select_list [ FROM table_source ] [ WHERE ...
例如:在mytable表中将Name和Salary两列赛选出来并添加到现有表Salary中
使用语句为:“insert into salary select name,salary from mytable ;”
clip_p_w_picpath006
 
2、 使用备份和还原对数据进行转换。
 
BACKUP (Transact-SQL)语句使用
备份整个数据库、事务日志,或者备份一个或多个文件或文件组。 Transact-SQL 语法约定 语法 --Backing up an entire database BACKUP DATABASE { database_name | @database_name_var } TO < backup_device > [ ,...n ] [ [ MIRROR ...
例如:现在需要将数据库mysql完整备份到G:\backup\backup.bak中,并且,backup_mysql.bak是备份设备
使用命令为:“BACKUP DATABASE [mysql] TO disk =N'g:\backup\backup_mysql.bak'WITH NAME = N'mysql-完整数据库备份' ;”
clip_p_w_picpath008
clip_p_w_picpath010
clip_p_w_picpath012
 
Restore (Transact-SQL)语句使用
例如:数据库mysql中的表丢失了,需要还原一下,除了使用命令外,还可以使用图形界面,最好使用图形界面,这样更有利于管理。
使用的命令:RESTORE DATABASE [mysql] FROM DISK = N'g:\backup\backup_mysql.bak' WITH REPLACE
clip_p_w_picpath014
clip_p_w_picpath016
 
注意:在实际应用中,备份和还原语句一般用于生成任务计划时使用。如果只进行简单的备份和还原,最好还是使用图形界面的。
 
3、 使用分离和附加对数据进行转换。
如果要将数据库更改到同一计算机的不同SQL Server实例中或要移动数据库,分离和附加数据库会很有用。可以分离数据库的数据文件和日志文件,然后将他们重新附加到同一或其他SQL Server实例中。
注意:分离的数据库必须保证该数据库中的数据文件和日志文件完整无损。附加数据库时,所有数据文件(主数据文件和辅助数据文件)都必须可用。如果任何数据文件的路径不同于首次创建数据库或上次附加数据库的路径,则必须指定文件的当前路径。
例如:现在需要将数据库mysql里的数据复制到数据库test中
clip_p_w_picpath018
clip_p_w_picpath020
clip_p_w_picpath022
本文出自 “【小诺滴网络技术课堂】” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/154781