Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL क्वेरी कैसे लिखें जहां ए में शामिल है (ए या बी)

दो विकल्प:

  1. LIKE का प्रयोग करें कीवर्ड, स्ट्रिंग में प्रतिशत चिह्नों के साथ

    select * from table where field like '%a%' or field like '%b%'.
    

    (नोट:यदि आपकी खोज स्ट्रिंग में प्रतिशत चिह्न हैं, तो आपको उनसे बचना होगा)

  2. यदि आप अपने उदाहरण में निर्दिष्ट स्ट्रिंग्स के अधिक जटिल संयोजन की तलाश कर रहे हैं, तो आप रेगुलर एक्सप्रेशन (regex) कर सकते हैं:

    उनका उपयोग करने के तरीके के बारे में अधिक जानने के लिए MySQL मैनुअल देखें:http:/ /dev.mysql.com/doc/refman/5.1/hi/regexp.html

इनमें से LIKE . का उपयोग करके सबसे सामान्य समाधान है - यह मानक SQL है, और सामान्य उपयोग में है। रेगेक्स आमतौर पर कम उपयोग किया जाता है लेकिन बहुत अधिक शक्तिशाली होता है।

ध्यान दें कि आप जो भी विकल्प चुनते हैं, आपको संभावित प्रदर्शन प्रभावों के बारे में पता होना चाहिए। इस तरह से सब-स्ट्रिंग्स को खोजने का मतलब यह होगा कि क्वेरी को पूरी टेबल को स्कैन करना होगा। यदि आपके पास एक बड़ी तालिका है, तो यह बहुत धीमी क्वेरी के लिए तैयार हो सकती है, और अनुक्रमण की कोई भी राशि मदद नहीं करेगी।

यदि यह आपके लिए एक समस्या है, और आपको एक ही चीज़ को बार-बार खोजने की आवश्यकता है, तो आप तालिका में फ़्लैग फ़ील्ड जोड़ने जैसा कुछ करना पसंद कर सकते हैं जो निर्दिष्ट करता है कि स्ट्रिंग फ़ील्ड में प्रासंगिक उप- तार। यदि आप रिकॉर्ड को अपडेट करते समय इस फ़्लैग फ़ील्ड को अप-टू-डेट रखते हैं, तो आप बस फ़्लैग से क्वेरी कर सकते हैं जब आप खोज करना चाहते हैं। इसे अनुक्रमित किया जा सकता है, और आपकी क्वेरी को बहुत तेज़ कर देगा। क्या यह प्रयास करने लायक है या नहीं यह आप पर निर्भर है, यह इस बात पर निर्भर करेगा कि LIKE का उपयोग करके प्रदर्शन कितना खराब है ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक छोटे प्रश्न बनाम एक लंबी क्वेरी। कौन सा अधिक कुशल है?

  2. अंतराल मान के रूप में कॉलम नाम के साथ DATE_ADD का उपयोग करना

  3. वेब सर्वर में सीधे PHP द्वारा सहेजे बिना, सर्वर साइड पर किसी फ़ाइल में बेस 64 स्ट्रिंग को कैसे निर्यात करें?

  4. एक MySQL जॉइन के साथ समस्याएँ होना जिसके लिए कई शर्तों को पूरा करने की आवश्यकता होती है

  5. MySQL बिट कॉलम PHP 7.1 में अजीब बड़ी संख्या देता है (पिछले संस्करणों में नहीं)