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

MySQL में कुछ को छोड़कर सभी पंक्तियों को कैसे हटाएं?

<घंटा/>

आप उन पंक्तियों के लिए NOT IN ऑपरेटर का उपयोग कर सकते हैं जिन्हें आप हटाना नहीं चाहते हैं। निम्नलिखित वाक्य रचना है -

delete from yourTableName where yourColumnName NOT
IN(‘yourValue1’,‘yourValue2’,‘yourValue3’,.........N);

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

mysql> create table deleteAllRowsWithCondition
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.84 sec)

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

mysql> insert into deleteAllRowsWithCondition(Name) values('Larry');
Query OK, 1 row affected (0.14 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('John');
Query OK, 1 row affected (0.21 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('Sam');
Query OK, 1 row affected (0.12 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('Mike');
Query OK, 1 row affected (0.16 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('Bob');
Query OK, 1 row affected (0.06 sec)

mysql> insert into deleteAllRowsWithCondition(Name) values('David');
Query OK, 1 row affected (0.14 sec)

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

mysql> select * from deleteAllRowsWithCondition;

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

+----+-------+
| Id | Name  |
+----+-------+
| 1  | Larry |
| 2  | John  |
| 3  | Sam   |
| 4  | Mike  |
| 5  | Carol |
| 6  | Bob   |
| 7  | David |
+----+-------+
7 rows in set (0.00 sec)

यहाँ कुछ शर्त के साथ सभी पंक्तियों को हटाने की क्वेरी है। हम यहां 'जॉन', 'माइक' और 'कैरोल' को नहीं हटा रहे हैं -

mysql> delete from deleteAllRowsWithCondition where Name NOT IN('John','Mike','Carol');
Query OK, 4 rows affected (0.15 sec)

आइए देखें कि टेबल से कुछ पंक्तियों को हटाया गया है या नहीं। निम्नलिखित प्रश्न है -

mysql> select * from deleteAllRowsWithCondition;

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

+----+-------+
| Id | Name  |
+----+-------+
| 2  | John  |
| 4  | Mike  |
| 5  | Carol |
+----+-------+
3 rows in set (0.00 sec)

  1. MySQL में आज से छोड़कर सभी पंक्तियों का चयन करें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। मान लें कि वर्तमान तिथि 2019-07-03 है - डेमोटेबल मानों में डालें ( कैरोल,2019-08-03);क्वेरी ठीक है, 1 पंक्ति प्रभावित हुई (0.22 सेकंड) चयन कथन का उपयोग करके तालिका से स

  1. एक एकल MySQL क्वेरी में एकाधिक पंक्तियां कैसे प्राप्त करें?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Id int, Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (130, माइक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) चयन कथन का उपयोग करके तालिका से सभी र

  1. एक एकल MySQL क्वेरी में एकाधिक पंक्तियां कैसे प्राप्त करें?

    एकल MySQL क्वेरी में एकाधिक पंक्तियाँ प्राप्त करने के लिए, LIKE ऑपरेटर का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.90 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1385 (नाम) मान (जॉन स्मिथ) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0