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

MySQL में NOT IN का उपयोग करके विशिष्ट रिकॉर्ड को छोड़कर बाकी डिलीट करना

MySQL में NOT IN ऑपरेटर के साथ विशिष्ट रिकॉर्ड को संरक्षित करते हुए शेष हटाना

NOT IN ऑपरेटर का उपयोग करके आप उन रिकॉर्ड्स को हटा सकते हैं जो निर्दिष्ट मानों की सूची में नहीं हैं।

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

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    FirstName VARCHAR(100)
);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable VALUES('Chris');
mysql> INSERT INTO DemoTable VALUES('Robert');
mysql> INSERT INTO DemoTable VALUES('Mike');
mysql> INSERT INTO DemoTable VALUES('Sam');
mysql> INSERT INTO DemoTable VALUES('David');

डिलीट करने से पहले डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| FirstName |
+-----------+
| Chris     |
| Robert    |
| Mike      |
| Sam       |
| David     |
+-----------+

Robert और Mike को छोड़कर बाकी डिलीट करना

mysql> DELETE FROM DemoTable 
WHERE FirstName NOT IN('Robert', 'Mike');

आउटपुट: Query OK, 3 rows affected

डिलीट करने के बाद डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| FirstName |
+-----------+
| Robert    |
| Mike      |
+-----------+

महत्वपूर्ण विचार

  • NOT IN में NULL मान होने पर अप्रत्याशित परिणाम दे सकता है
  • बड़े डेटासेट के लिए NOT EXISTS बेहतर प्रदर्शन दे सकता है
  • हमेशा DELETE से पहले SELECT के साथ परीक्षण करें
  • लेनदेन (TRANSACTION) का उपयोग करके सुरक्षित रूप से डिलीट करें

वैकल्पिक दृष्टिकोण


            
  1. Java में PreparedStatement का उपयोग करके MySQL टेबल में रिकॉर्ड कैसे डालें? Java में PreparedStatement का उपयोग करके MySQL टेबल में रिकॉर्ड कैसे डालें?

    PreparedStatement के साथ पैरामीटराइज़्ड INSERT SQL इंजेक्शन रोकने और प्रदर्शन में सुधार के लिए Java में PreparedStatement का उपयोग करें। प्लेसहोल्डर (?) के साथ SQL लिखें और सेटर मेथड्स से मान बांधें। सिंटैक्स String query = INSERT INTO yourTableName(col1, col2, col3) VALUES (?, ?, ?); PreparedStat

  1. - MySQL में स्टोर्ड प्रोसीजर से टेबल रिकॉर्ड कैसे प्रदर्शित करें?

    MySQL में स्टोर्ड प्रोसीजर के अंदर SELECT स्टेटमेंट रखकर टेबल रिकॉर्ड्स प्रदर्शित कर सकते हैं। यह एनकैप्सुलेशन, पुन: उपयोग, और सुरक्षा (टेबल पर सीधे SELECT अधिकार दिए बिना डेटा एक्सेस) के लिए उपयोगी है। उदाहरण: सभी रिकॉर्ड प्रदर्शित करने वाला प्रोसीजर डेमो टेबल बनाएं: mysql> CREATE TABLE DemoT

  1. - Node.js से MySQL रिकॉर्ड हटाना (DELETE FROM)

    डेटाबेस टेबल से रिकॉर्ड हटाने के लिए DELETE FROM स्टेटमेंट उपयोग करें। दो तरीके: स्टैटिक डिलीशन: निश्चित फ़िल्टर मान देकर हटाएं। डायनामिक डिलीशन: इनपुट लेकर उसके आधार पर हटाएं। पूर्वापेक्षा mkdir mysql-test cd mysql-test npm init -y npm install mysql उदाहरण 1: स्टैटिक डिलीशन (address=Delhi) var