Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mesclar vários arquivos de despejo de tabela .sql em um único arquivo


Não há ferramentas especiais para fazer isso. Você pode simplesmente concatenar os arquivos:
$ cat b1.sql b2.sql b3.sql > b_all.sql

Exceto que o conteúdo típico desses arquivos .sql é um DROP TABLE, depois um CREATE TABLE, e então um monte de instruções INSERT. Se cada um dos arquivos de despejo individuais estiver formatado dessa forma, se você restaurá-los em sequência, cada um DROP TABLE e apagará os dados importados pelo arquivo anterior.

Você pode criar um arquivo de despejo sem as instruções DROP/CREATE:
$ mysqldump --no-create-info <database> <table> ...

Mas se você já possui os arquivos de despejo (não pode despejá-los novamente) e deseja se livrar das instruções DROP/CREATE em todos, exceto no primeiro arquivo:
$ ( cat b1.sql ; cat b2.sql b3.sql | sed -e '/^DROP TABLE/,/^-- Dumping data/d' ) > b_all.sql