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

MySQL सभी टेबल्स का कोलेशन बदलें

विभिन्न डेटाबेस संयोजन आपको डेटाबेस में विभिन्न प्रकार के वर्णों को संग्रहीत करने की अनुमति देते हैं। डिफ़ॉल्ट रूप से, MySQL में latin1 वर्ण सेट latin1_swedish_ci संयोजन के साथ है। हालांकि, आप विशिष्ट तालिकाओं, सभी तालिकाओं या यहां तक ​​कि एक संपूर्ण डेटाबेस के MySQL संयोजन को आसानी से बदल सकते हैं। MySQL में कोलेशन बदलने का तरीका यहां दिया गया है।


MySQL में सभी टेबल्स के कोलेशन को कैसे बदलें

हम MySQL में कोलेशन बदलने के चरणों को देखेंगे।


यहाँ एक MySQL तालिका के संयोजन को बदलने के लिए SQL क्वेरी है

ALTER TABLE tbl_name 
[[DEFAULT] CHARACTER SET charset_name] 
[COLLATE collation_name]

उपरोक्त क्वेरी में, आपको तालिका का नाम निर्दिष्ट करना होगा tbl_name . आप वैकल्पिक रूप से वर्ण सेट charset_name . भी निर्दिष्ट कर सकते हैं और संयोजन collation_name

बोनस पढ़ें :अनुसरण करने के लिए शीर्ष डेटाबेस ब्लॉग

डेटाबेस के सभी तालिकाओं के संयोजन को utf8_general_ci में बदलने का एक उदाहरण यहां दिया गया है। डेटाबेस_नाम बदलें और table_name नीचे क्रमशः डेटाबेस और फ़ील्ड नामों के साथ।

alter table database_name.table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

यदि आप अपने डेटाबेस में सभी तालिकाओं के संयोजन को बदलना चाहते हैं, तो आपको प्रत्येक तालिका के लिए उपरोक्त क्वेरी को अलग से चलाने की आवश्यकता है।

चूंकि यह बहुत कठिन हो सकता है, हम एक चयन क्वेरी बनाते हैं जो हमारे डेटाबेस में प्रत्येक तालिका के लिए ALTER तालिका विवरण उत्पन्न करता है। सबसे पहले, यहां SELECT क्वेरी है जो आपके डेटाबेस में सभी तालिका-संबंधित विवरण लौटाती है।

SELECT * FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA="database_name" 
AND TABLE_TYPE="BASE TABLE";

बोनस पढ़ें :शीर्ष MySQL कार्यक्षेत्र विकल्प

हम आपके डेटाबेस में प्रत्येक तालिका के लिए वैकल्पिक तालिका विवरण बनाने के लिए उपरोक्त चयन क्वेरी को संशोधित करते हैं।

यहां चुनिंदा क्वेरी है जो आपके डेटाबेस में सभी तालिकाओं के लिए SQL क्वेरी उत्पन्न करेगी। डेटाबेस_नाम बदलें और collation_name नीचे अपने डेटाबेस और संयोजन नामों के साथ और अपने डेटाबेस में सभी तालिकाओं के संयोजन को बदलने के लिए SQL क्वेरी उत्पन्न करने के लिए इसे चलाएं।

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE collation_name;") AS ExecuteTheString FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="database_name" AND TABLE_TYPE="BASE TABLE";

बोनस पढ़ें :MySQL में स्लो क्वेरी लॉग इन कैसे करें

सभी तालिकाओं के संयोजन को utf8 में बदलने के लिए यहां एक और SQL क्वेरी है।

SELECT CONCAT('ALTER TABLE ', tbl.TABLE_SCHEMA, '.', tbl.TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM information_schema.TABLES
 tbl WHERE tbl.TABLE_SCHEMA = 'database_name'

एक बार जब आपके पास प्रत्येक तालिका के लिए वैकल्पिक तालिका प्रश्नों की सूची हो, तो आप सभी तालिकाओं के संयोजन को बदलने के लिए उन्हें कॉपी-पेस्ट और चला सकते हैं।

उम्मीद है, उपरोक्त लेख आपको MySQL में डेटाबेस में सभी तालिकाओं के संयोजन को बदलने में मदद करेगा।

  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

  2. JDBC स्टेटमेंट उदाहरण - डालें, हटाएं, अपडेट करें, रिकॉर्ड चुनें

  3. MySQL में सर्वर कोलेशन कैसे दिखाएं

  4. क्या MySQL इंडेक्स विदेशी कुंजी कॉलम स्वचालित रूप से करता है?

  5. mysql_fetch_array () पैरामीटर 1 को संसाधन समस्या होने की अपेक्षा करता है