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

MySQL में केस-सेंसिटिव यूनिकनेस और केस-इनसेंसिटिव खोज प्राप्त करना

MySQL में केस-सेंसिटिव यूनिकनेस (अद्वितीयता) और केस-इनसेंसिटिव खोज एक साथ प्राप्त करने के दो तरीके हैं:

1. VARBINARY डेटा टाइप

CREATE TABLE SearchingDemo2 (
    UserId VARBINARY(128) NOT NULL,
    UNIQUE KEY index_on_UserId2 (UserId)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

VARBINARY बाइनरी तुलना करता है, इसलिए 'abc' और 'ABC' अलग माने जाते हैं (यूनिकनेस के लिए)।

2. _bin कोलेशन

CREATE TABLE SearchingDemo (
    UserId VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
    UNIQUE KEY index_on_UserId (UserId)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

utf8_bin कोलेशन बाइट-दर-बाइट तुलना करता है, जिससे केस-सेंसिटिव यूनिकनेस मिलती है।

खोज के लिए: केस-इनसेंसिटिव खोज के लिए क्वेरी में COLLATE utf8_general_ci या LOWER()/UPPER() का उपयोग करें:

SELECT * FROM SearchingDemo WHERE UserId COLLATE utf8_general_ci = 'john';

या टेबल डिफॉल्ट कोलेशन utf8_unicode_ci (केस-इनसेंसिटिव) होने पर साधारण खोज स्वतः केस-इनसेंसिटिव होगी, जबकि यूनिक कंस्ट्रेंट utf8_bin के कारण केस-सेंसिटिव रहेगा।

  1. - MySQL में एकाधिक AND शर्तों के साथ कैसे काम करें?

    MySQL में एकाधिक AND शर्तों के साथ काम करने के लिए, सिंटैक्स निम्नलिखित है: SELECT * FROM yourTableName WHERE yourColumnName1=yourValue1 AND yourColumnName2=yourValue2 AND yourColumnName3=yourValue3; आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIM

  1. - MySQL में स्ट्रिंग की शुरुआत में विशिष्ट वर्णों को कैसे खोजें और बदलें? INSERT फ़ंक्शन

    इसके लिए INSERT() फ़ंक्शन का उपयोग करें। टेबल बनाएं mysql> create table DemoTable ( -> ZipCode VARCHAR(200) -> ); Query OK, 0 rows affected (0.47 sec) रिकॉर्ड्स डालें mysql> insert into DemoTable values(9030); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable

  1. - MySQL में UPPER() और IN() का उपयोग करके केस-असंवेदनशील SELECT करना

    MySQL में केस-असंवेदनशील IN() क्वेरी डिफ़ॉल्ट रूप से, MySQL स्ट्रिंग तुलना कॉलेशन पर निर्भर करती है। IN() के साथ स्पष्ट केस-असंवेदनशील मिलान के लिए, तुलना से पहले दोनों पक्षों पर UPPER() या LOWER() लागू करें। उदाहरण: नाम फ़िल्टरिंग SELECT * FROM DemoTable1460; +--------+ | Name | +--------+ | Ch