Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Lewati tabel di mysqldump berdasarkan pola

Sayangnya mysqldump membutuhkan nama tabel yang sepenuhnya memenuhi syarat sehingga Anda tidak dapat menentukan parameter sebagai pola ekspresi reguler.

Namun, Anda dapat menggunakan skrip untuk menghasilkan mysqldump Anda dengan menghubungkannya ke information_schema dan membuat daftar semua tabel menggunakan sesuatu seperti:

SELECT TABLE_NAME, TABLE_SCHEMA
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'mysql', 'PERFORMANCE_SCHEMA');

Dan kemudian membuatnya menghasilkan --ignore-table parameter untuk semua nama tabel yang cocok dengan ekspresi reguler ^test .

Untuk membuang hanya skema dan tanpa data, Anda dapat menggunakan --no-data=true sebagai parameter.

Jika Anda ingin mendapatkan semuanya untuk semua tabel non-tes tetapi hanya skema untuk tabel lain maka Anda perlu menggunakan dua perintah mysqldump terpisah (satu untuk tabel abaikan untuk semua tabel pengujian ditambah skema hanya satu dan satu lagi untuk hanya skema tabel skema saja) dengan yang kedua ditambahkan ke file output dengan menggunakan >> tambahkan operator .

Jadi skrip yang Anda hasilkan mungkin menghasilkan sesuatu seperti:

mysqldump -u root -ptoor databaseName --ignore-table=testTable1 --ignore-table=testTable2 --ignore-table=testTable3  --ignore-table=schemaOnlyTable > mysqldump.sql

mysqldump -u root -ptoor databaseName schemaOnlyTable --no-data=true >> mysqldump.sql



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql cte. menggunakan dengan dan menyisipkannya memperingatkan kesalahan sintaksis

  2. MySQLNonTransientConnectionException:Tidak dapat membuat koneksi ke server database

  3. Kolom Ganti Nama MySQL

  4. Dump File MySQL 5.6.10

  5. Mengapa SQLAlchemy count() jauh lebih lambat daripada kueri mentah?