समाधान: INFORMATION_SCHEMA.SCHEMATA
वर्तमान डेटाबेस की डिफ़ॉल्ट कोलेशन जानने के लिए INFORMATION_SCHEMA.SCHEMATA टेबल को क्वेरी करें।
सिंटैक्स
SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'yourDatabaseName' LIMIT 1;
व्यावहारिक उदाहरण
'sample' डेटाबेस के लिए क्वेरी
mysql> SELECT DEFAULT_COLLATION_NAME
-> FROM information_schema.SCHEMATA
-> WHERE SCHEMA_NAME = 'sample'
-> LIMIT 1;
परिणाम
+------------------------+ | DEFAULT_COLLATION_NAME | +------------------------+ | utf8_general_ci | +------------------------+
संबंधित उपयोगी क्वेरी
सभी डेटाबेस की कोलेशन देखना
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA;
वर्तमान डेटाबेस की कोलेशन (DATABASE() फ़ंक्शन के साथ)
SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = DATABASE();
कोलेशन के बारे में
- utf8_general_ci: सामान्य केस-इनसेंसिटिव UTF-8 (पुराना डिफ़ॉल्ट)
- utf8mb4_general_ci: पूर्ण यूनिकोड समर्थन (इमोजी सहित), MySQL 5.5.3+
- utf8mb4_0900_ai_ci: MySQL 8.0+ डिफ़ॉल्ट, बेहतर सॉर्टिंग
- _ci = केस-इनसेंसिटिव, _cs = केस-सेंसिटिव, _ai = एक्सेंट-इनसेंसिटिव
कोलेशन बदलना
-- डेटाबेस स्तर ALTER DATABASE yourDatabaseName CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; -- टेबल स्तर ALTER TABLE yourTableName CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;