如何使用常用的6种方式对数据进行转换(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
如何使用常用的6种方式对数据进行转换(一)
 
实验目标:
1、 使用T-SQL语句对数据进行转换。
2、 使用备份和还原对数据进行转换。
3、 使用分离和附加对数据进行转换。
4、 使用复制对数据进行转换。(重点讲解)
5、 使用SSIS导入和导出向导对数据进行转换。
6、 使用SSIS包设计器对数据进行转换(重点讲解,推荐使用)
 
实验步骤:
注意:下面所有的操作都将对以下表格进行更改
clip_image002
 
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_image004
 
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_image006
 
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_image008
clip_image010
clip_image012
 
Restore (Transact-SQL)语句使用
例如:数据库mysql中的表丢失了,需要还原一下,除了使用命令外,还可以使用图形界面,最好使用图形界面,这样更有利于管理。
使用的命令:RESTORE DATABASE [mysql] FROM DISK = N'g:\backup\backup_mysql.bak' WITH REPLACE
clip_image014
clip_image016
 
注意:在实际应用中,备份和还原语句一般用于生成任务计划时使用。如果只进行简单的备份和还原,最好还是使用图形界面的。
 
3、 使用分离和附加对数据进行转换。
如果要将数据库更改到同一计算机的不同SQL Server实例中或要移动数据库,分离和附加数据库会很有用。可以分离数据库的数据文件和日志文件,然后将他们重新附加到同一或其他SQL Server实例中。
注意:分离的数据库必须保证该数据库中的数据文件和日志文件完整无损。附加数据库时,所有数据文件(主数据文件和辅助数据文件)都必须可用。如果任何数据文件的路径不同于首次创建数据库或上次附加数据库的路径,则必须指定文件的当前路径。
例如:现在需要将数据库mysql里的数据复制到数据库test中
clip_image018
clip_image020
clip_image022


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/154781,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
23 3
|
2月前
|
Python
字典是怎么创建的,支持的操作又是如何实现的?
字典是怎么创建的,支持的操作又是如何实现的?
60 8
|
4月前
|
存储 数据库 C++
"深入剖析Python元组(tuple):与列表的对比、特性解析及高效应用场景展示"
【8月更文挑战第9天】Python元组与列表虽均用于存储元素集合,但有本质差异。元组不可变,创建后无法修改,适合保护数据不被意外更改的场景,如作字典键或传递固定值。列表则可变,支持动态增删改,适用于需频繁调整的数据集。元组因不可变性而在性能上有优势,可用于快速查找。两者各有千秋,根据具体需求选择使用。例如,元组可用于表示坐标点或日期,而列表更适合管理用户列表或库存。
122 1
|
前端开发 程序员 C#
【C#】通过扩展对象的方式,对字符串等数据类型进行数据进一步处理
在本篇文章中,我们讲一起了解下对象扩展的使用 在实际项目开发中,对象扩展使用的场景还是挺多的,比如:需要对时间值进行再处理,或者字符串中的斜杠(/)转为反斜杠(\)
118 0
|
存储 程序员 C语言
如何进行C++动态转换
如何进行C++动态转换
如何进行C++动态转换
|
Java Maven Spring
蔡昊 - 如何高效而优雅的进行对象转换
简介 随着分层结构和DDD设计思想的普及,我们在后端开发过程中,会使用到VO/DO/DTO等等各种类型的模型对象,对象的转换工作也随着变得越来越多。而这种工作技术含量不高,却容易过多的出现在编码里,处理不当也会出现各种问题,那么如何更加高效而优雅的进行类型转换呢? 且花几分钟了解下笔者接下来要讲的一款Java代码生成器MapStruct——创建实现Java Bean之间转换的扩展映射器!
274 0
|
容器
实战小技巧19:Map转换的几种方式
在日常开发过程中,从一个Map转换为另外一个Map属于基本操作了,那么我们一般怎么去实现这种场景呢?有什么更简洁省事的方法么?
1400 0
|
数据可视化 Python 数据处理
如何使用deeptools处理BAM数据
如何使用deeptools处理BAM数据 总体介绍 deeptools是基于Python开发的一套工具,用于处理诸如RNA-seq, ChIP-seq, MNase-seq, ATAC-seq等高通量数据。
3451 0