gpt4 book ai didi

mysql - 将多个 .sql 表转储文件合并到一个文件中

转载 作者:可可西里 更新时间:2023-11-01 06:31:43 30 4
gpt4 key购买 nike

假设我有数据库 A 和表 b。给定多个 .sql 文件 b1、b2、...、bn,每个文件都对应于 b 的互斥表转储,我将如何将所有文件 b1、b2、...、bn 合并到一个 .sql 表文件中?或者我如何将单个文件的导入合并到一个表中?

最佳答案

没有专门的工具可以做到这一点。您可以简单地连接文件:

$ cat b1.sql b2.sql b3.sql > b_all.sql

除了这些 .sql 文件的典型内容是一个 DROP TABLE,然后是一个 CREATE TABLE,然后是很多 INSERT 语句。如果每个单独的转储文件都是这样格式化的,那么如果您按顺序恢复它们,每个转储文件都会删除 TABLE 并删除前面文件导入的数据。

您可以在没有 DROP/CREATE 语句的情况下创建转储文件:

$ mysqldump --no-create-info <database> <table> ...

但是如果你已经有了转储文件(不能重新转储它们),并且你想去掉除第一个文件之外的所有文件中的 DROP/CREATE 语句:

$ ( cat b1.sql ; cat b2.sql b3.sql | sed -e '/^DROP TABLE/,/^-- Dumping data/d' ) > b_all.sql

关于mysql - 将多个 .sql 表转储文件合并到一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17582660/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com