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

Bagaimana cara membuang semua tabel innodb secara selektif dalam database mysql?

Jika ini adalah operasi satu kali yang akan saya lakukan:

use DB;
show table status name where engine='innodb';

dan lakukan copy/paste persegi panjang dari kolom Name:

+-----------+--------+---------+------------+-
| Name      | Engine | Version | Row_format |
+-----------+--------+---------+------------+-
| countries | InnoDB |      10 | Compact    |
| foo3      | InnoDB |      10 | Compact    |
| foo5      | InnoDB |      10 | Compact    |
| lol       | InnoDB |      10 | Compact    |
| people    | InnoDB |      10 | Compact    |
+-----------+--------+---------+------------+-

ke editor teks dan mengubahnya menjadi perintah

mysqldump -u USER DB countries foo3 foo5 lol people > DUMP.sql

dan kemudian impor setelah mengganti semua instance ENGINE=InnoDB dengan ENGINE=MyISAM di DUMP.sql

Jika Anda ingin menghindari sihir salin/tempel persegi panjang, Anda dapat melakukan sesuatu seperti:

use information_schema;
select group_concat(table_name separator ' ') from tables 
    where table_schema='DB' and engine='innodb';

yang akan mengembalikan countries foo3 foo5 lol people



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengubah baris menjadi data berbasis kolom berulang?

  2. Apakah ada cara untuk MEMOTONG sebagian besar tabel dalam skema MySQL?

  3. COUNT CASE dan WHEN pernyataan di MySQL

  4. Baris duplikat MySQL

  5. SQL JOIN Untuk Menemukan Catatan Yang Tidak Memiliki Catatan Yang Cocok Dengan Nilai Tertentu