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

MySQL IN() का उपयोग करके अल्पविराम से अलग मानों से रिकॉर्ड प्राप्त करना

FIND_IN_SET() का उपयोग करके CSV कॉलम में मान खोजना

MySQL IN() के बजाय FIND_IN_SET() का उपयोग करें। पहले टेबल बनाएं:

mysql> create table DemoTable1423 ( CountryName varchar(100) ); Query OK, 0 rows affected (0.51 sec)

रिकॉर्ड डालें:

mysql> insert into DemoTable1423 values('AUS,UK'); Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1423 values('US'); Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1423 values('AUS,UK,US'); Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड देखें:

mysql> select * from DemoTable1423;

आउटपुट:

+-------------+ | CountryName | +-------------+ | AUS,UK      | | US          | | AUS,UK,US   | +-------------+ 3 rows in set (0.00 sec)

FIND_IN_SET() का उपयोग करके रिकॉर्ड प्राप्त करने की क्वेरी:

mysql> select * from DemoTable1423 where find_in_set('US', CountryName);

परिणाम:

+-------------+ | CountryName | +-------------+ | US          | | AUS,UK,US   | +-------------+ 2 rows in set (0.00 sec)

व्याख्या: FIND_IN_SET('US', CountryName) जांचता है कि 'US' अल्पविराम से अलग सूची CountryName में मौजूद है या नहीं। IN() पूरी स्ट्रिंग से मेल खाता है, व्यक्तिगत तत्वों से नहीं। FIND_IN_SET 1-आधारित स्थिति लौटाता है, या 0 यदि नहीं मिला। WHERE में गैर-शून्य TRUE होता है। नोट: यह सटीक मिलान करता है; 'USA' 'US' से मेल नहीं खाएगा। बड़े डेटासेट के लिए, CSV कॉलम के बजाय जंक्शन टेबल का उपयोग करना बेहतर है।

  1. - महीनों की एक श्रृंखला से रिकॉर्ड प्राप्त करने का MySQL क्वेरी?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1795 ( Name varchar(20), DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1795 values(John,2018-07-21); Query OK, 1 row affected (0.00 sec)

  1. - MySQL में कॉमा सेपरेटेड मानों के साथ रैंडम पंक्तियाँ कैसे प्राप्त करें?

    MySQL में रैंडम पंक्तियाँ प्राप्त करने के लिए ORDER BY RAND() का उपयोग किया जाता है। यदि आपके कॉलम में कॉमा सेपरेटेड मान हैं, तो आप NOT IN के साथ फ़िल्टर करके रैंडम परिणाम ले सकते हैं। टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1835 ( ListOfIds VARCHAR(20) ); mysql> INSERT INT

  1. - MySQL में टेबल जोड़कर (JOIN) मान कैसे प्राप्त करें?

    JOIN का उपयोग दो टेबल को सामान्य कॉलम (PK-FK) पर जोड़ें। टेबल 1: demo52 insert into demo52 values(1,John), (2,David), (3,Mike); टेबल 2: demo53 (FK से demo52) insert into demo53 values(1,23), (2,22), (3,26); JOIN क्वेरी SELECT name FROM demo52 t1 JOIN demo53 t2 ON t1.id=t2.id WHERE t1.id=1; +-