Php 如何编辑一个巨大的SQL转储?

Php 如何编辑一个巨大的SQL转储?,php,sql,regex,edit,mysqldump,Php,Sql,Regex,Edit,Mysqldump,我有一个巨大的SQL转储,其中包含许多语句,如 CREATE TABLE ... INSERT INTO ... 等等 我想编辑这个文件。首先,我想删除所有具有所有属性的“CREATETABLE”语句。我只想要“插入到”语句。有简单的方法吗?我是这方面的新手 所有“INSERT INTO”语句如下所示: INSERT INTO 'xyz' VALUES (a, b, c, d), (e, f, g, h), (c,d,e,g) ... 我想在最后这样做: INSERT INTO 'xyz'

我有一个巨大的SQL转储,其中包含许多语句,如

CREATE TABLE ...
INSERT INTO ...
等等

我想编辑这个文件。首先,我想删除所有具有所有属性的“CREATETABLE”语句。我只想要“插入到”语句。有简单的方法吗?我是这方面的新手

所有“INSERT INTO”语句如下所示:

INSERT INTO 'xyz' VALUES (a, b, c, d), (e, f, g, h), (c,d,e,g) ... 
我想在最后这样做:

INSERT INTO 'xyz' VALUES (<tenant_id>, a, b, c, d), (<tenant_id>, e, f, g, h), ...
插入“xyz”值(,a,b,c,d),(,e,f,g,h)。。。
有没有一个简单的方法来实现这一点?例如,使用PHP或正则表达式?我该怎么做?
谢谢大家!

如果您可以访问任何类似unix的系统,我建议您:

sed '/CREATE TABLE */d' current.dump > new.dump
它将删除所有创建表行,并将其余行通过管道传输到新的转储文件中

请参见示例10“显示与所有给定模式不匹配的行”

e、 g

假设CREATETABLE语句位于一行上

对于Windows,您可以使用grep命令的各种端口,例如


-它是什么?它只是一个占位符/虚拟。如果转储在值中包含此项,我可以在以后填充它。我只想插入一些东西,一个变量或其他任何东西。我看不出您的原点问题。但是,为什么不能导入转储文件、向表中添加新字段以及仅使用数据创建新转储文件呢?这也可以在Windows计算机上完成。只需下载适用于Windows的SED。
Syntax:
grep -v -e "pattern" -e "pattern"
grep -v -e "CREATE TABLE" current.dump > new.dump