diffsql用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了diffsql用法相关的知识,希望对你有一定的参考价值。
diffsql用法diffsql是一种比较两个数据库的工具,可以比较数据库中的表结构、字段、索引、视图、存储过程等,并生成用于同步两个数据库的SQL脚本。
使用diffsql的步骤如下:
1. 安装diffsql
2. 配置diffsql,输入比较的数据库信息
3. 选择需要比较的数据库对象,如表、字段、索引等
4. 启动比较,diffsql会比较两个数据库之间的差异
5. 生成同步脚本,用于将两个数据库同步 参考技术A 1,全库比较各个表的不同,并输出到文件
mysqldiff --server1=root:root@localhost --server2=root:root@localhost --difftype=sql aaa:bbb --changes-for=server1--force > C:\output.sql
2,检查是否有新表
mysqldiff --server1=root:root@localhost --server2=root:root@localhost --difftype=sql aaa:bbb --changes-for=server1
3,如果有新表,创建简单的表结构,在运行1,2等步骤
注意:
Auto_increment的处理有点问题:
比较出来的脚本,执行后依然没有自动增长
ALTER TABLE `aaa`.`tableb`
CHANGE COLUMN id id int(11) NOT NULL,
AUTO_INCREMENT=1;
用下面的才会自动增长
ALTER TABLE `aaa`.`tableb`
CHANGE COLUMN id id int(11) NOT NULL
AUTO_INCREMENT;
本文介绍mysqldiff工具来比较数据表结构,并生成差异SQL语句。
mysqldiff类似Linux下的diff命令,用来比较对象的定义是否相同,并显示不同的地方。
如果要比较数据库是否一致,可以用另外一个工具:mysqldbcompare(点击查看教程)。
以下是mysqldiff的用法。
1 安装
mysqldiff是MySQL Utilities中的一个脚本,默认的MySQL不包含这个工具集,所以需要独立安装。
Linux系统在下载页面选择对应发行版。
2 语法
mysqldiff的语法格式是:
$ mysqldiff --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1.object1:db2.object1 db3:db4
这个语法有两个用法:
db1:db2:如果只指定数据库,那么就将两个数据库中互相缺少的对象显示出来,不比较对象里面的差异。这里的对象包括表 参考技术B 从Mysql某一表中随机读取n条数据的SQL查询语句
oracle中使用sql查询时字段为空则赋值默认
oracle中sql查询语句的执行顺序
Oracle EBS-SQL (SYS-13):查询DBA在系统中的打Patch的信息.SQL
Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
ignite中的sql查询
hibernate使用setResultTransformer()将SQL查询结果放入集合中
sql 查询某个条件多条数据中最新的一条数据或最老的一条数据
从SQL查询分析器中读取EXCEL中的内容
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
sql语句中出现笛卡尔乘积 SQL查询入门篇
用SQL查询方式显示GROUP BY中的TOP解决方法[转]
[SQL]查询某一个字段在某一段时期数据库中使用到的记录 参考技术C 在SQL Server中,可以使用T-SQL DATEDIFF()函数返回两个日期之间的差异。它适用于任何可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式。因此,你也可以得到两次的差值。其中datepart是你想要比较的日期的一部分。startdate是第一个日期,enddate是结束日期。
它的工作方式是从enddate中减去startdate。
以上是关于diffsql用法的主要内容,如果未能解决你的问题,请参考以下文章