比较数据库表

时间:2017-04-25 21:42:58

标签: mysql database

我有2个数据库,它们共享许多相同的表,我想确定哪个表不存在一个数据库而不存在另一个数据库。有没有简单的方法呢?

2 个答案:

答案 0 :(得分:0)

导出相关的整个两个数据库的模式并进行比较。

你可以使用mysqldump

来做到这一点
mysqldump -u root -p --no-data dbname > schema.sql

答案 1 :(得分:0)

简单的答案是从每个数据库中获取一个表列表并进行比较。如果您只需要比较表的列表,而不是表的实际结构,这将起作用。

从SQL客户端环境或mysql客户端:

use YOUR_DB_NAME;
show tables;

您将获得一个表格,其中每一行都是表格的名称,以及有用的行数。

| sequence                |
+-------------------------+  
46 rows in set (0.01 sec)

表格已按字母顺序排列。

如果你想使用某种diff工具,并且需要获取没有ascii框的列表,你可以使用-s(silent)选项启动mysql命令工具:

mysql -u user -h host -p -s

然后,您将获得一个普通列表,您可以将其复制/粘贴或输出到文件。