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

MySQL में LIKE ऑपरेटर से आंशिक मिलान करना

LIKE ऑपरेटर और वाइल्डकार्ड

आंशिक मिलान के लिए LIKE ऑपरेटर का उपयोग करें। दो मुख्य वाइल्डकार्ड हैं:

  • % - शून्य या अधिक वर्णों से मेल खाता है
  • _ (अंडरस्कोर) - ठीक एक वर्ण से मेल खाता है

उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना

mysql> CREATE TABLE DemoTable806(
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(100),
    StudentSubject VARCHAR(100)
);
Query OK, 0 rows affected (0.57 sec)

रिकॉर्ड्स इन्सर्ट करना

mysql> INSERT INTO DemoTable806(StudentName,StudentSubject) VALUES('Chris','Java in Depth With Data Structure');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO DemoTable806(StudentName,StudentSubject) VALUES('Robert','Introduction to MySQL');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO DemoTable806(StudentName,StudentSubject) VALUES('Bob','C++ in Depth With Data Structure And Algorithm');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO DemoTable806(StudentName,StudentSubject) VALUES('Adam','Introduction to MongoDB');
Query OK, 1 row affected (0.11 sec)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable806;
+-----------+-------------+------------------------------------------------+
| StudentId | StudentName | StudentSubject                                 |
+-----------+-------------+------------------------------------------------+
| 1         | Chris       | Java in Depth With Data Structure              |
| 2         | Robert      | Introduction to MySQL                          |
| 3         | Bob         | C++ in Depth With Data Structure And Algorithm |
| 4         | Adam        | Introduction to MongoDB                        |
+-----------+-------------+------------------------------------------------+
4 rows in set (0.00 sec)

आंशिक मिलान क्वेरी

'Depth' शब्द वाले विषय खोजने के लिए:

mysql> SELECT * FROM DemoTable806 WHERE StudentSubject LIKE '%Depth%';

परिणाम

+-----------+-------------+------------------------------------------------+
| StudentId | StudentName | StudentSubject                                 |
+-----------+-------------+------------------------------------------------+
| 1         | Chris       | Java in Depth With Data Structure              |
| 3         | Bob         | C++ in Depth With Data Structure And Algorithm |
+-----------+-------------+------------------------------------------------+
2 rows in set (0.00 sec)

LIKE पैटर्न के उदाहरण

पैटर्नविवरण
'%abc''abc' से समाप्त होने वाले मान
'abc%''abc' से शुरू होने वाले मान
'%abc%'कहीं भी 'abc' वाले मान
'_abc'एक वर्ण के बाद 'abc' वाले मान
'a_c''a' से शुरू, कोई भी वर्ण, फिर 'c' वाले मान

केस सेंसिटिविटी

डिफ़ॉल्ट रूप से MySQL में LIKE केस-इनसेंसिटिव होता है। केस-सेंसिटिव खोज के लिए BINARY कीवर्ड उपयोग करें:

SELECT * FROM DemoTable806 WHERE StudentSubject LIKE BINARY '%depth%';

प्रदर्शन नोट

लीडिंग वाइल्डकार्ड (%text) इंडेक्स का उपयोग नहीं कर सकते। पूर्ण-पाठ खोज के लिए FULLTEXT INDEX और MATCH() AGAINST() का उपयोग करें।

  1. - क्या हम MySQL SELECT IN() में एकल मान सेट कर सकते हैं?

    हाँ, हम MySQL में IN() के साथ एकल मान सेट कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.65 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)

  1. - MySQL स्टोर्ड प्रोसीजर में ALTER TABLE RENAME से टेबल नाम बदलें

    MySQL स्टोर्ड प्रोसीजर के अंदर ALTER TABLE ... RENAME का उपयोग करके टेबल का नाम बदल सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1859 (Id INT); डेटा डालें mysql> INSERT INTO DemoTable1859 VALUES(101), (102); प्रोसीजर बनाकर नाम बदलें mysql> DELIMITER // mysql> CREATE PROCEDURE alt

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना