SQL Delta实用案例介绍
概述
本篇文章主要介绍SQL DELTA的简单使用。为了能够更加明了的说明其功能,本文将通过实际项目中的案例加以介绍。
主要容
SQL DELTA 简介
创建SQL DELTA项目
使用SQLDELTA 进行数据库结构同步
使用SQLDELTA进行数据库数据同步
生成数据报表
待续
SQLDELTA简介
SQLDELTA是一款便捷实用的数据库管理工具。使用它可以找到现在数据库项目与过去数据库的异同点。并可以使你的产品数据库与你的开发数据库同步,减少你因为同步数据库而进行复杂的工作。还有一个好处是你可以使用它的对比和同步功能来为你目前的项目创建一个供测试使用的数据库。可以批量的转移你的数据。
你可以从www.sqldelta.com上下载SQLDELTA工具。目前最新版本是SQL DELTA Version5.0。本文将采用SQL DELTA4 来做演示。
创建SQL DELTA项目
打开”SQL DELTA 4”程序,在”Projects”选项卡中,选择”New”,”Add New Project”,新建一个项目,为“JJKQ”。
通过右键新建的项目“Edit Project”,或者通过点击右边的向下箭头,可以编辑项目。
在项目中,源数据库和目标数据库配置如下图所示:
图1 SQLDELTA新建项目
注意:在设置源数据库连接与目标数据库连接时,如果你是在一台机器上操作的话,务必确保两个数据库不同名,或是在不同的数据库实例下相同的数据库名,也可以使用虚拟机。
接着,点击图1 右下角的“Project Options”,选择要对比的对象,如图2
图2选择对比的对象
点击“OK”
在图1所示的界面中,点击左上角或右下角的”Compare DataBase”,对比两个数据库中我们选择要对比的对象。
图3 对比进度条
在对比过程中SQLDETAL还将连接数据库,此时可能再次要求你输入连接数据库的密码,如图4
图4 输入数据库连接密码
使用SQLDELTA 进行数据库结构同步
选择选项卡“Structure”,将为我们列出源数据库和目标数据库的异同点,如图5
图5 数据库对象对比结果
图5上半部分列出了数据库中的对象和对比的基本情况。下半部分则对每个对象对比的结果进行了详细的描述,其中=表示相同,<>表示不相同,三角号表示对象移动的方向:向左表示源数据库更新目标数据库,向右表示目标数据库更新源数据库。下面列举两个示例。
例1:使用源数据库的表更新目标数据的表
选择图5种上半部分中type为数据表,statue为”<>”的行,对应的将在其下半部分显示出两个不同源的数据表结构哪里不一样,如图6所示”summary”选项卡中columns有1个”<>”。对应选择选项卡”Cols(1)”,如图7 所示,我们将看到,原来列sortname中数据类型不一样,源库中是varchar(50),目标库中是char(50)
图6
图7
现在要使得目标库的sortname类型也为varchar(50),通过钩选图7上半部分的列表中对应的”Update”列中的钩选框(默认情况下是钩选的)。
点击图5中左上角的”Sync”同步图标。将生成数据库同步语句,此时你下图中右下角的”Run”按钮即可完成同步操作。
图8 生成同步数据库的SQL语句
如果同步成功的话,会显示如下语句:
Updating dbo.attendanceinout Table
dbo.attendanceinout Table Updated Successfully
*** Script Completed For LHL-PC/SQLEXPRESS.lw_att2000 ***
说明更新目标表成功。
当我们关闭对话框时,SQLDELTA将再次进行一次数据库结构的比较,此时你将发现刚才不一样的表结构,已经同步,一样了。
例2:使用目标库中的存储过程更新源库中同构的存储过程。
查看两个存储过程的异同点方法,跟例1 相似,这不再赘述。不同地方如图9
图9 存储过程语句不一样
现在如果我们直接按”Sync”按钮,则会使用源库的存储过程更新目标库的。此时我们可以通过使用
中的Direction按钮来改变要更新的库。
点Direction按钮,选择”Update on (local).lw_att2000”,其中(local).lw_att2000为源库。此时对象列表中的Action列对应的值,将由”Update on LHL-PC/SQLEXRESS.lw_att2000”变为” Update on (local).lw_att2000”。然后再使用”Sync”按钮同步。
注意:在同步SQL语句的时候,可以会同步错误。此时你只要稍微修改下生成的同步SQL语句,然后再要更新的库中运行即可。
使用SQLDELTA进行数据库数据同步
选择选项卡”Data”,点击”Wizard”按钮,选择需要对比的数据的表,注意选择的表必需要有主键,如图10,选择CHECKINOUT,主键为userid和checktime
图10 选择要对比数据的表
可以选择”Next”根据自己的配置,对比数据,也可以直接进行对比。结果如图11
图11 数据对比结果
上半部分列表中,列Identical表示相同的记录数,Different表示不同的记录数,Missing表示源表中有但目标表没有的记录数,Additional表示源表中没有但目标表中有的记录数。
如果此时我们要将目标表中的记录同步到源表中,只要按照结构对比示例2 中存储过程通过的过程一样。
生成数据报表
选择选项卡”Reports”
其中
Strucure是生成指定数据库的结构对象的报表
Comparison生成两个数据库结构对象对比结果的报表
Data生成两个数据库数据对比情况的报表
Combined是以上三者的组合选项。
待续
本文只是简单介绍了SQLDELTA的使用,一些高级的应用还有待我们去发掘使用。
SQL Delta实用案例介绍的更多相关文章
- SQL Delta实用案例介绍,很好的东西,帮了我不少忙
SQL Delta实用案例介绍 概述 本篇文章主要介绍SQL DELTA的简单使用.为了能够更加明了的说明其功能,本文将通过实际项目中的案例加以介绍. 主要容 SQL DELTA 简介 ...
- SQL Delta实用案例介绍 (对应软件)
http://blog.csdn.net/hongdi/article/details/5363209
- awk 实用案例介绍
awk 简介 • awk是 3 个姓氏的首字母,代表该语言的 3 个作者 • awk的版本有很多,包括: 旧版 awk,新版 awk(nawk), GNUawk(gawk)等 • awk程序有 awk ...
- 使用SQL Delta.v5.1.1.98.破解版同步数据结构
概述 本篇文章主要介绍SQL DELTA的简单使用.为了能够更加明了的说明其功能,本文将通过实际项目中的案例加以介绍. 1. SQLDELTA简介 SQLDELTA是一款便捷实用的数据库管理工具.使用 ...
- InfluxDB 聚合函数实用案例
InfluxDB 聚合函数实用案例 文章大纲 InfluxDB 简介 InfluxDB是GO语言编写的分布式时间序列化数据库,非常适合对数据(跟随时间变化而变化的数据)的跟踪.监控和分析.在我们的项目 ...
- Sql Server触发器案例(初学者学习案例)
万事都是从最简单的一句“hello world”开始,所以我接下里介绍的sql触发器学习案例也从最简单的案例来说明分析: 1.首先创建表,这几张表你们也许很熟,在百度搜触发器案例都是使用这2张表 Cr ...
- JAVA实用案例之水印开发
写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...
- JAVA实用案例之图片水印开发
写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...
- JAVA实用案例之文件导出(JasperReport踩坑实录)
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...
随机推荐
- CSS-锚点笔记
注意点: position属性 定义建议元素布局所用的定位机制 {position:static/absolute/relative/fixed;} static:默认值,没有定位 absolute: ...
- Firebird 事务隔离级别
各种RDBMS事务隔离都差不多,Firebird 中大致分为3类: CONCURRENCY.READ_COMMITTED.CONSISTENCY. 在提供的数据库驱动里可设置的事务隔离级别大致如下3类 ...
- Spring+Velocity+Mybatis入门(step by step)
一.开发工具 开发过程中使用的操作系统是OS X,关于软件安装的问题请大家移步高效的Mac环境设置. 本文是我对自己学习过程的一个回顾,应该还有不少问题待改进,例如目录的设置.编码习惯和配置文件的处理 ...
- Centos7安装DockerCE
1. 说明 以下使用的系统为centos7,64位,镜像为CentOS-7-x86_64-Minimal-1804,所有操作以root用户操作 2. 安装Docker官方源 2.1 安装yum工具集 ...
- Cypress自动化环境搭建
1.Cypress 下载: 官网下载,下载后直接解压即可,解压后便可单机exe文件打开 Ps:直接打开exe是会报错找不到json文件的,所以还要安装依赖环境 运行cypress项目前,必须vue-c ...
- MYSQL5.7生成列简介及创建
1.说明 生成列是由已存在的字段通过表达式计算得来的 2.生成列类型 VIRTUAL,即虚拟类型,字段值不实际存储,当读取行时再计算,虚拟列类型不占存储 STORED,即存储类型,字段值会实际存储起来 ...
- VUE--404页面
<一 404 动态页面> <!-- 2017/5/26- yyy-404页面--> <template> <section class="page_ ...
- 使用Apollo做配置中心
https://blog.51cto.com/12980017/2158490?source=dra 由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心 本 ...
- ArrayList 与LinkedList 的区别及分别的优缺点
ArrayList,与LinkedList都是属于实现了List接口的类.首先从名字前缀开始看 ,Array表示数组,Link表示链表. 所以ArrayList底层是基于动态数组的.而LinkedL ...
- mysql技巧一则-避免重复插入相同数据
今天解决的问题如下: 如果避免插入或更新一条数据表中相同名称的记录? , ,, , , '2019-06-18 07:20:48', '2016-06-18 07:20:48', 'manaual r ...