Mysql比较两个数据库表和字段

时间:2014-08-05 09:58:21

标签: mysql database

  • 我必须比较两个数据库表和字段(不是他们的数据)。
  • 说实时数据库和开发数据库。在实时DB中有200个表和 在开发DB中有218个表有一些新的列字段 也在旧表中添加。
  • 在最后阶段,我必须通过添加新的更新Live DB 从开发DB获取的列和表。
  • 我不应该丢失和旧数据库中的数据。
  • 我尝试了很多方法,但这对我来说需要很长时间 完成。我使用的工具之一是mysql workbench。

是否有使用信息架构执行此操作的查询?

为了简化操作,我从开发服务器导入了开发数据库,​​并使用不同的名称上传到实时数据库中。现在两个数据库都在同一台服务器上但是有diff名称。例如。 sitedb,sitedevdb

2 个答案:

答案 0 :(得分:1)

每当您使用最终会进行更改的更改来更新开发数据库时,您应该编写一个.sql脚本,该脚本将重复实时数据库中的更改。

否则此操作非常棘手..您可能必须自己手动找出添加的列,或者您可以使用每个INFORMATION_SCHEMA.COLUMNS来比较旧表。

对于新表SHOW CREATE **table_name**非常有用。

答案 1 :(得分:0)

MySQL比较工具可能就是您所需要的。我工作的公司Redgate提供MySQL Compare(对于数据库模式)和MySQL Data Compare(对于数据)。

这些工具可以免费用于非商业用途。