对比数据是常见的一种操作,而若对自己操作过的大量数据进行对比,未免耗时费力。以下Mysql语句为方便对比数据而记录,参考链接来自:
MySQL比较两个表不同的数据
使用以下条件可使用本sql语句查询对比:
- 已经明确更改了哪个/些字段的数据
- 更改前备份数据,才可进行对比操作
- 操作的数据表包含唯一标识(主键或组合主键)
SELECT
*
FROM
(
SELECT *,'原来' AS origin FROM table_name_before
-- 组合两个表的数据
UNION ALL
SELECT *,'更改后' AS origin FROM table_name_after
) A -- 起别名
GROUP BY
id, -- 主键
update_column -- 更改了的值,可以写多个
HAVING
count(*) = 1 -- 没有更改的数据group将会是2,不展示
ORDER BY -- 进行排序,最为方便对比
id ASC,
origin ASC