Mysql
 sql >> Base de données >  >> RDS >> Mysql

Fusionner plusieurs fichiers de vidage de table .sql en un seul fichier

Il n'y a pas d'outils spéciaux pour le faire. Vous pouvez simplement concaténer les fichiers :

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

Sauf que le contenu typique de ces fichiers .sql est un DROP TABLE, puis un CREATE TABLE, puis un grand nombre d'instructions INSERT. Si chacun des fichiers de vidage individuels est formaté de cette manière, alors si vous les restaurez dans l'ordre, chacun supprimera TABLE et effacera les données importées par le fichier précédent.

Vous pouvez créer un fichier de vidage sans les instructions DROP/CREATE :

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

Mais si vous avez déjà les fichiers de vidage (vous ne pouvez pas les re-vider) et que vous voulez vous débarrasser des instructions DROP/CREATE dans tous les fichiers sauf le premier :

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