Mysql
 sql >> Database >  >> RDS >> Mysql

Unisci più file di dump di tabelle .sql in un unico file

Non ci sono strumenti speciali per farlo. Puoi semplicemente concatenare i file:

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

Tranne che il contenuto tipico di questi file .sql è una DROP TABLE, quindi una CREATE TABLE, quindi molte istruzioni INSERT. Se ciascuno dei singoli file di dump è formattato in questo modo, se li ripristini in sequenza, ciascuno DROP TABLE e cancellerà i dati importati dal file precedente.

Puoi creare un file dump senza le istruzioni DROP/CREATE:

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

Ma se hai già i file di dump (non puoi scaricarli nuovamente) e vuoi sbarazzarti delle istruzioni DROP/CREATE in tutto tranne il primo file:

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