Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để kết xuất có chọn lọc tất cả các bảng innodb trong cơ sở dữ liệu mysql?

Nếu đây là hoạt động một lần, tôi sẽ thực hiện:

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

và sao chép / dán hình chữ nhật từ cột Tên:

+-----------+--------+---------+------------+-
| 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    |
+-----------+--------+---------+------------+-

sang trình soạn thảo văn bản và chuyển đổi nó thành lệnh

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

và sau đó nhập sau khi thay thế tất cả các bản sao của ENGINE=InnoDB với ENGINE=MyISAM trong DUMP.sql

Nếu bạn muốn tránh ma thuật sao chép / dán hình chữ nhật, bạn có thể làm điều gì đó như:

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

sẽ trả về 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. Danh sách thả xuống được phổ biến động PHP MySQL

  2. MySQL Static Hash-index

  3. Cách lưu trữ kinh độ và vĩ độ trong cơ sở dữ liệu. MySQL sẽ không đi xa hơn -99,9999999

  4. Cách sử dụng hàm Rand kết hợp với Union trong MySQL

  5. Câu lệnh được soạn sẵn trong WordPress với điều kiện IN ()