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

अल्पविराम से अलग सूची के हिस्से से रिकॉर्ड पुनर्प्राप्त करने के लिए MySQL क्वेरी?

<घंटा/>

अल्पविराम से अलग की गई सूची के हिस्से से रिकॉर्ड पुनर्प्राप्त करने के लिए, आप अंतर्निहित फ़ंक्शन FIND_IN_SET() का उपयोग कर सकते हैं।

आइए पहले एक टेबल बनाएं -

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name varchar(20),
   Marks varchar(200)
   );
Query OK, 0 rows affected (0.61 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालने के लिए क्वेरी निम्नलिखित है -

mysql> insert into DemoTable(Name,Marks) values('Larry','98,34,56,89');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Name,Marks) values('Chris','67,87,92,99');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Name,Marks) values('Robert','33,45,69,92');
Query OK, 1 row affected (0.22 sec)

चयन कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -

mysql> select *from DemoTable;

यह निम्नलिखित आउटपुट देगा -

+----+--------+-------------+
| Id | Name   | Marks       |
+----+--------+-------------+
| 1  | Larry  | 98,34,56,89 |
| 2  | Chris  | 67,87,92,99 |
| 3  | Robert | 33,45,69,92 |
+----+--------+-------------+
3 rows in set (0.00 sec)

अल्पविराम से अलग की गई सूची के हिस्से से रिकॉर्ड पुनर्प्राप्त करने के लिए क्वेरी निम्नलिखित है। यहां, हम 99 अंक वाले एक छात्र के रिकॉर्ड प्राप्त कर रहे हैं -

mysql> select Id,Name from DemoTable where find_in_set('99',Marks) > 0;

यह निम्नलिखित आउटपुट देगा -

+----+-------+
| Id | Name  |
+----+-------+
| 2  | Chris |
+----+-------+
1 row in set (0.00 sec)

  1. पहली तालिका से दूसरी तालिका में रिकॉर्ड (सभी नहीं) सम्मिलित करने के लिए एक एकल MySQL क्वेरी

    इसके लिए MySQL में सेलेक्ट के साथ नेस्टेड इंसर्ट का उपयोग करें जैसा कि नीचे दिए गए सिंटैक्स में दिखाया गया है - अपनेTableName2(yourColumnName1,yourColumnName2,.....N)में अपना ColumnName1, yourColumnName2,....N अपनेTableName1 से चुनें जहां आपकी स्थिति है; आइए पहले एक उदाहरण देखें और एक टेबल बनाएं -

  1. एक विशिष्ट मान के आधार पर अल्पविराम से अलग मानों से रिकॉर्ड लाने के लिए MySQL डीबी क्वेरी

    इसके लिए आप MySQL में REGEXP का इस्तेमाल कर सकते हैं। मान लें कि आप पंक्ति रिकॉर्ड चाहते हैं जिसमें अल्पविराम से अलग किया गया कोई भी मान 90 है। इसके लिए, रेगुलर एक्सप्रेशन का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.58 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में क

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

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1795 (नाम varchar(20), नियत दिनांक);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1795 मानों में डालें ( माइक,2018-12-31);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) चयन कथन का उप