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. 六 ...
随机推荐
- 在pycharm中右键运行,只有unnitest,HtmltTestRunner不生成报告
https://blog.csdn.net/lufangbo/article/details/79308362 有时候在编完脚本开始运行时,发现某个py脚本右键运行的选项不是run,二是run in ...
- day 03 作业 预科
目录 作业 1.简述变量的组成 2.简述变量名的命名规范 3.简述注释的作用 4.使用turtle库构造一幅图,贴在markdown文档中 作业 1.简述变量的组成 变量由变量名.赋值符号.变量值所组 ...
- PHP java时间戳转php时间戳
/** * java时间戳转php时间戳 * @param int $javaUt java的时间戳 * @return int * @Date 2019/8/26 */ public static ...
- Activity知识点详解
Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...
- A quick introduction to Google test
视频参考:Google C++ Testing GTest GMock Framework 为什么要使用 Google C++ Testing Framework? 使用这个框架有许多好理由.本文讨论 ...
- ReqMan — 需求提取和协同处理工具
ReqMan是由德国engineering method AG公司开发的一款高效的.可自由定制的需求提取和协同处理工具.ReqMan 能够将PDF.Word.Excel等格式的文档提取 ...
- 2019年牛客多校第一场 E题 ABBA DP
题目链接 传送门 思路 首先我们知道\('A'\)在放了\(n\)个位置里面是没有约束的,\('B'\)在放了\(m\)个位置里面也是没有约束的,其他情况见下面情况讨论. \(dp[i][j]\)表示 ...
- 对 Jenkins+ANT+Jmeter 接口测试的实践
转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...
- SpringMVC的全局异常处理
@ControllerAdvice的使用 我们都知道做项目一般都会有全局异常统一处理的类,那么这个类在Spring中可以用@ControllerAdvice来实现. @ControllerAdvice ...
- STM32F103 串口-IAP程序升级
STM32F103 串口-IAP程序升级 通常情况下我们给STM32系列的单片机烧录程序文件的时候,使用SWD.J-link或者通过设置BOOT引脚后,使用串口进行程序下载,这样的方式直接一次性将程序 ...