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

मैं जल्दी से एक MySQL डेटाबेस का नाम कैसे बदलूँ (स्कीमा नाम बदलें)?

InnoDB . के लिए , निम्नलिखित काम करता प्रतीत होता है:नया खाली डेटाबेस बनाएं, फिर प्रत्येक तालिका का नाम बदलकर नए डेटाबेस में बदलें:

RENAME TABLE old_db.table TO new_db.table;

उसके बाद आपको अनुमतियों को समायोजित करने की आवश्यकता होगी।

शेल में स्क्रिप्टिंग के लिए, आप निम्न में से किसी एक का उपयोग कर सकते हैं:

mysql -u username -ppassword old_db -sNe 'show tables' | while read table; \ 
    do mysql -u username -ppassword -sNe "rename table old_db.$table to new_db.$table"; done

या

for table in `mysql -u root -ppassword -s -N -e "use old_db;show tables from old_db;"`; do mysql -u root -ppassword -s -N -e "use old_db;rename table old_db.$table to new_db.$table;"; done;

नोट:

  • विकल्प के बीच कोई स्थान नहीं है -p और पासवर्ड। यदि आपके डेटाबेस में कोई पासवर्ड नहीं है, तो -u username -ppassword को हटा दें भाग।
  • यदि किसी तालिका में एक ट्रिगर है, तो इसे उपरोक्त विधि का उपयोग करके किसी अन्य डेटाबेस में नहीं ले जाया जा सकता है (परिणामस्वरूप Trigger in wrong schema त्रुटि)। यदि ऐसा है, तो डेटाबेस को क्लोन करने के लिए पारंपरिक तरीके का उपयोग करें और फिर पुराने को छोड़ दें:

    mysqldump old_db | mysql new_db

  • यदि आपके पास संग्रहीत कार्यविधियाँ हैं, तो आप उन्हें बाद में कॉपी कर सकते हैं:

    mysqldump -R old_db | mysql new_db



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .NET . में एक MySQL डेटाबेस से कनेक्ट करना

  2. EXISTS बनाम IN के साथ उपश्रेणियाँ - MySQL

  3. MySQL ड्रॉप कॉलम

  4. MySQL के लिए सर्वश्रेष्ठ DBaaS समाधान

  5. MySQL INSERT IF (कस्टम अगर स्टेटमेंट)