विभिन्न डेटाबेस संयोजन आपको डेटाबेस में विभिन्न प्रकार के वर्णों को संग्रहीत करने की अनुमति देते हैं। डिफ़ॉल्ट रूप से, 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 में डेटाबेस में सभी तालिकाओं के संयोजन को बदलने में मदद करेगा।