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

MySQL LIKE से एकाधिक मानों वाले फ़ील्ड कैसे खोजें?

LIKE के साथ OR ऑपरेटर

MySQL में किसी कॉलम में **एकाधिक पैटर्न** खोजने के लिए LIKE को OR के साथ जोड़ें।

सिंटैक्स

SELECT * FROM yourTableName 
WHERE yourColumnName LIKE '%pattern1%' 
   OR yourColumnName LIKE '%pattern2%' 
   OR yourColumnName LIKE '%pattern3%' ...;

व्यावहारिक उदाहरण

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE LikeDemo (
    -> Hobby VARCHAR(200)
    -> );
Query OK, 0 rows affected (1.71 sec)

mysql> INSERT INTO LikeDemo VALUES('Reading Book');
mysql> INSERT INTO LikeDemo VALUES('Playing Cricket Match');
mysql> INSERT INTO LikeDemo VALUES('Playing Hockey Match');
mysql> INSERT INTO LikeDemo VALUES('Reading Novel');
mysql> INSERT INTO LikeDemo VALUES('Swimming');

2. सभी डेटा

mysql> SELECT * FROM LikeDemo;
+-----------------------+
| Hobby                 |
+-----------------------+
| Reading Book          |
| Playing Cricket Match |
| Playing Hockey Match  |
| Reading Novel         |
| Swimming              |
+-----------------------+
5 rows in set (0.00 sec)

3. 'Cricket' या 'Reading' वाली पंक्तियाँ खोजें

mysql> SELECT * FROM LikeDemo 
    -> WHERE Hobby LIKE '%Cricket%' OR Hobby LIKE '%Reading%';
+-----------------------+
| Hobby                 |
+-----------------------+
| Reading Book          |
| Playing Cricket Match |
| Reading Novel         |
+-----------------------+
3 rows in set (0.00 sec)

वैकल्पिक: REGEXP (नियमित अभिव्यक्ति)

SELECT * FROM LikeDemo 
WHERE Hobby REGEXP 'Cricket|Reading';

अधिक संक्षिप्त, लेकिन बड़े डेटासेट पर धीमा हो सकता है (इंडेक्स उपयोग नहीं करता)।

IN ऑपरेटर (सटीक मिलान के लिए)

SELECT * FROM LikeDemo 
WHERE Hobby IN ('Reading Book', 'Playing Cricket Match');

यह **सटीक मिलान** करता है, आंशिक नहीं।

प्रदर्शन सुझाव

  • LIKE 'pattern%' (प्रीफिक्स) इंडेक्स उपयोग कर सकता है
  • LIKE '%pattern%' (सबस्ट्रिंग) फुल टेबल स्कैन करता है
  • बड़े टेबल्स के लिए फुल-टेक्स्ट सर्च (MATCH() AGAINST()) या ElasticSearch उपयोग करें
  • OR शर्तें बढ़ने पर REGEXP या UNION पर विचार करें

केस संवेदनशीलता

  • डिफ़ॉल्ट कॉलेशन (_ci) केस-असंवेदनशील
  • केस-संवेदनशील: WHERE Hobby LIKE BINARY '%Cricket%' या _cs कॉलेशन
  1. - MySQL में SHOW TABLES के साथ कई LIKE मान कैसे उपयोग करें?

    MySQL में SHOW TABLES कई LIKE पैटर्न सीधे सपोर्ट नहीं करता, लेकिन information_schema का उपयोग करके यह प्राप्त कर सकते हैं। सिंटैक्स (information_schema का उपयोग) SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = yourDatabaseName AND (TABLE_NAME LIKE %pattern1% OR TABLE_NAME LI

  1. - MySQL में GROUP_CONCAT का उपयोग करके मानों को कोट (quote) कैसे करें?

    MySQL में CONCAT() और GROUP_CONCAT() फ़ंक्शन का उपयोग करके मानों को कोट कर सकते हैं। सिंटैक्स SELECT GROUP_CONCAT(CONCAT(, yourColumnName, )) AS anyVariableName FROM yourTableName; उदाहरण के साथ समझें सबसे पहले एक टेबल बनाते हैं: ); Query OK, 0 rows affected (1.56 sec) रिकॉर्ड डालें INSERT I

  1. PHP और MySQL में  बूलियन  मानों को कैसे संभालें? PHP और MySQL में 'बूलियन' मानों को कैसे संभालें?

    MySQL में बूलियन डेटा प्रकार समझना MySQL 8.0.12 में बूलियन मानों को संभालने के लिए आप BOOL, BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। जब आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में परिवर्तित कर देता है। बूलियन लिटरल का प्रतिनिधित्व BOOL या BOOLEAN डेटा प्रकार