
diffsql是一种比较两个数据库的工具,可以比较数据库中的表结构、字段、索引、视图、存储过程等,并生成用于同步两个数据库的SQL脚本。
使用diffsql的步骤如下:
1. 安装diffsql
2. 配置diffsql,输入比较的数据库信息
3. 选择需要比较的数据库对象,如表、字段、索引等
4. 启动比较,diffsql会比较两个数据库之间的差异
5. 生成同步脚本,用于将两个数据库同步
如何比较2个mysql数据库数据sql语句:因为MySQL 没有full outer join,所以用left join union all right join来实现
select a.table_schema,
a.table_name,
a.column_name,
b.table_schema,
b.table_name,
b.column_name
from information_schema.columns a
left join information_schema.columns b on a.table_name = b.table_name and a.column_name =
b.column_name andb.table_schema = 'DBNAMe1'
where a.table_schema = 'DBNAME2' and
(b.table_name is null or
b.column_name is null)
union all
select a.table_schema,
a.table_name,
a.column_name,
b.table_schema,
b.table_name,
b.column_name
from information_schema.columns a
left join information_schema.columns b on a.table_name = b.table_name and a.column_name =
b.column_name andb.table_schema = 'DBNAME2'
where a.table_schema = 'DBNAME1' and
(b.table_name is null or
b.column_name is NULL)
replace into 首先尝试插入数据到表中:1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2. 否则,直接插入新数据。
示例代码:
首先设置id为主键,然后执行下方示例代码
REPLACE INTO table_name_1 (id, NAME, SUBJECT) SELECT
id,
NAME,
SUBJECT
FROM
table_name_2
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)