Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैसे एक mysql डेटाबेस में सभी innodb तालिकाओं को चुनिंदा रूप से डंप करने के लिए?

अगर यह एकबारगी ऑपरेशन होता तो मैं यह करता:

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

और नाम कॉलम से एक आयताकार कॉपी/पेस्ट करें:

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

टेक्स्ट एडिटर में बदलें और इसे कमांड में बदलें

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

और फिर ENGINE=InnoDB . के सभी उदाहरणों को बदलने के बाद आयात करें ENGINE=MyISAM के साथ DUMP.sql में

यदि आप आयताकार कॉपी/पेस्ट जादू से बचना चाहते हैं तो आप कुछ ऐसा कर सकते हैं:

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

जो countries foo3 foo5 lol people return लौटाएगा



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं एक PDO पैरामीटरयुक्त कथन का उपयोग करके एक MYSQL तालिका बना सकता हूँ?

  2. रेल 3.2 + MySQL:त्रुटि:फ़ील्ड 'create_at' का कोई डिफ़ॉल्ट मान नहीं है:INSERT INTO

  3. ZF2 में Zend\Db लेनदेन को कैसे नियंत्रित करता है?

  4. कोडनिर्देशक में एकाधिक where_in स्थिति के लिए सरणी

  5. एसक्यूएल में आप कॉलम के बराबर सभी पंक्तियों को ढूंढकर तालिका की प्रत्येक पंक्ति को कैसे अपडेट करते हैं, फिर एक दूसरे के बराबर कॉलम सेट करें