Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में एक्सेंट-सेंसिटिव खोज कैसे करें?


utf8_bin कॉलेशन के साथ एक्सेंट-सेंसिटिव तुलना

डिफ़ॉल्ट रूप से, MySQL का utf8_general_ci या utf8mb4_general_ci कॉलेशन एक्सेंट-असंवेदनशील होता है (उदाहरण: 'é' = 'e')। एक्सेंट-संवेदनशील खोज के लिए, utf8_bin या utf8mb4_bin बाइनरी कॉलेशन का उपयोग करें।

सिंटैक्स

कॉलम_नाम डेटा_प्रकार COLLATE utf8_bin;

उदाहरण

1. एक्सेंट-संवेदनशील कॉलम के साथ टेबल बनाएं

mysql> CREATE TABLE AccentSearchDemo (
    -> Id VARCHAR(100) COLLATE utf8_bin
    -> );

2. टेस्ट डेटा डालें

mysql> INSERT INTO AccentSearchDemo VALUES('John123');
mysql> INSERT INTO AccentSearchDemo VALUES('Smith123');
mysql> INSERT INTO AccentSearchDemo VALUES('123John');

3. खोज करें

mysql> SELECT * FROM AccentSearchDemo WHERE Id = 'john123';

परिणाम: 0 पंक्तियाँ (केस-संवेदनशील भी)

mysql> SELECT * FROM AccentSearchDemo WHERE Id = 'John123';

परिणाम: 1 पंक्ति मिली

कॉलेशन तुलना

कॉलेशनकेसएक्सेंटउपयोग
utf8_general_ciअसंवेदनशीलअसंवेदनशीलसामान्य (डिफ़ॉल्ट)
utf8_unicode_ciअसंवेदनशीलअसंवेदनशीलबेहतर सॉर्टिंग
utf8_binसंवेदनशीलसंवेदनशीलसटीक मिलान
utf8mb4_0900_ai_ciअसंवेदनशीलअसंवेदनशीलMySQL 8.0 डिफ़ॉल्ट, बेहतर यूनिकोड
utf8mb4_0900_as_csसंवेदनशीलसंवेदनशीलMySQL 8.0+, सटीक मिलान

क्वेरी-स्तरीय कॉलेशन (टेबल बदले बिना)

SELECT * FROM टेबल WHERE कॉलम = 'मान' COLLATE utf8_bin;

नोट्स

  • utf8mb4 (4-बाइट UTF-8) utf8 (3-बाइट, अपूर्ण) पर पसंदीदा है
  • इंडेक्स कॉलेशन-विशिष्ट हैं: अलग कॉलेशन के लिए अलग इंडेक्स की आवश्यकता हो सकती है
  • बाइनरी कॉलेशन बाइट-दर-बाइट तुलना करता है, जो केस और एक्सेंट दोनों के लिए संवेदनशील होता है
  1. - MySQL में REGEXP का उपयोग करके विशिष्ट शब्द कैसे खोजें?

    MySQL में REGEXP का उपयोग करके पैटर्न मिलान और शब्द खोज MySQL का REGEXP ऑपरेटर नियमित अभिव्यक्तियों का उपयोग करके पैटर्न मिलान करने की अनुमति देता है। यह सरल LIKE की तुलना में अधिक शक्तिशाली और लचीला है। टेबल बनाना ); Query OK, 0 rows affected (1.82 sec) डेटा डालना ALTER TABLE DemoTable ADD FULL

  1. - MySQL टेबल में ^ वर्ण कैसे खोजें?

    ^ वर्ण खोजने के लिए, नीचे दिए गए सिंटैक्स में LIKE ऑपरेटर का उपयोग करें: select table_schema,table_name,column_name from information_schema.columns where column_name like %^%; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1826 ( `^` varchar(20), Name varchar(20), `^Age` in

  1. - MySQL और PostgreSQL में अंतर

    MySQL और PostgreSQL के बीच प्रमुख अंतर: MySQL संबंधात्मक डेटाबेस प्रबंधन प्रणाली (RDBMS)। Oracle Corporation द्वारा विकसित। प्लेटफ़ॉर्म: Windows, macOS, Linux, BSD, UNIX, z/OS, Symbian, AmigaOS। एक्सटेंसिबल **नहीं**। GUI: phpMyAdmin। बैकअप: mysqldump, XtraBackup। टेम्पररी टेबल समर्थन। मटेरियलाइज़्