【数据库-MySql】Mysql比对两个数据库结构

SELECT a.TABLE_SCHEMA,a.TABLE_NAME,a.COLUMN_NAME,a.COLUMN_TYPE 
FROM
(SELECT * FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA IN ('db1')) AS a
LEFT JOIN 
(SELECT * FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA IN ('db2')) AS b 
ON a.COLUMN_NAME = b.COLUMN_NAME AND a.TABLE_NAME = b.TABLE_NAME AND a.COLUMN_TYPE = b.COLUMN_TYPE
WHERE b.COLUMN_NAME IS NULL
UNION 
SELECT a.TABLE_SCHEMA,a.TABLE_NAME,a.COLUMN_NAME,a.COLUMN_TYPE 
FROM
(SELECT * FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA IN ( 'db2')) AS a
LEFT JOIN 
(SELECT * FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA IN ('db1')) AS b 
ON a.COLUMN_NAME = b.COLUMN_NAME AND a.TABLE_NAME = b.TABLE_NAME AND a.COLUMN_TYPE = b.COLUMN_TYPE
WHERE b.COLUMN_NAME IS NULL;
发布了384 篇原创文章 · 获赞 70 · 访问量 68万+

猜你喜欢

转载自blog.csdn.net/chenlu5201314/article/details/103894837