是否可以在不使用phpmyadmin的情况下修补mysql sql文件?

是否可以在不使用phpmyadmin的情况下修补mysql sql文件?,mysql,merge,patch,Mysql,Merge,Patch,如果我有一个cms、购物车或一些基于db的web脚本,假设它有一个包含50个表的数据库 如果我有一个名为patch.sql的.sql文件,它有一些ALTER命令和一些UPDATE命令,我可以转到phpmyadmin,导入patch.sql文件,它会将更改应用到我的数据库中 但假设我首先将数据库导出到mydb.sql文件 有没有一种方法可以在不使用数据库的情况下将patch.sql更改应用于mydb.sql 我想到了一些命令行,比如 mysql.exe merge patch.sql mydb.s

如果我有一个cms、购物车或一些基于db的web脚本,假设它有一个包含50个表的数据库

如果我有一个名为patch.sql的.sql文件,它有一些ALTER命令和一些UPDATE命令,我可以转到phpmyadmin,导入patch.sql文件,它会将更改应用到我的数据库中

但假设我首先将数据库导出到mydb.sql文件 有没有一种方法可以在不使用数据库的情况下将patch.sql更改应用于mydb.sql

我想到了一些命令行,比如

mysql.exe merge patch.sql mydb.sql
或者别的什么,但我没看到类似的东西


phpmyadmin与数据库一起使用是唯一的方法吗?

如果您的目标是以后能够重新导入mydb.sql并获得数据库的修补版本,那么不,没有工具可以做到这一点。根据您的描述,patch.sql可能已经改变了数据库的结构以及数据本身。您应该做的是将修补程序应用于数据库,然后将数据库导出到新的.sql文件。

从mydb.sql文件中删除无用的行?这不适用于我所说的任何内容。确实是的。您希望使用文件mydb.sql的更新来更新patch.sql中的数据库。只需删除您不需要的命令并使用phpmyadmin导入即可。@AurelioDeRosa这很快就会变得非常重要,因为通常没有任何东西需要删除,而是需要更改。如果您对数据库的更新在20个表中添加了50列,在10个表中更改了20列的列类型,在现有表中添加了15个新索引等等,那么您就需要进行大量的手工合并。是的,好的,这就是我一直在做的事情,也是我所想的。感谢您确认: