我想创建一个MySQL查询来备份我的所有数据库,但是使用包含在所有表中的公共值进行过滤,并使用相同的列名。
我还想为具有相同值的所有表恢复数据库,使用该值踩过前面的行
答案 0 :(得分:1)
尝试以下方法:
mysqldump --where "colName = 'value'" --replace --skip-add-drop-table dbname > dumpfile.sql
在数据库名称之后省略表名使其转储所有表。 --where
选项指定过滤器。 --replace
使其使用REPLACE
语句而不是INSERT
语句,因此恢复文件将覆盖行。 --skip-add-drop-table
会遗漏DROP TABLE
和CREATE TABLE
语句,因此在恢复时不会销毁其他表格内容。