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

MySQL में LIKE का उपयोग करके स्ट्रिंग मिलान पर तालिका पंक्तियों को डिलीट करना

MySQL में LIKE ऑपरेटर के साथ पैटर्न मिलान पर आधारित पंक्तियों को डिलीट करना

DELETE स्टेटमेंट के साथ LIKE ऑपरेटर का उपयोग करके पैटर्न से मेल खाने वाली पंक्तियों को हटाया जा सकता है।

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

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(100)
);

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

mysql> INSERT INTO DemoTable(Name) VALUES('John Smith');
mysql> INSERT INTO DemoTable(Name) VALUES('Carol Taylor');
mysql> INSERT INTO DemoTable(Name) VALUES('John Doe');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris Brown');
mysql> INSERT INTO DemoTable(Name) VALUES('John Brown');

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+--------------+
| Id | Name         |
+----+--------------+
| 1  | John Smith   |
| 2  | Carol Taylor |
| 3  | John Doe     |
| 4  | Chris Brown  |
| 5  | John Brown   |
+----+--------------+

'ohn' वाले नामों को डिलीट करने के लिए क्वेरी

mysql> DELETE FROM DemoTable 
WHERE Name LIKE '%ohn%';

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

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+--------------+
| Id | Name         |
+----+--------------+
| 2  | Carol Taylor |
| 4  | Chris Brown  |
+----+--------------+

LIKE वाइल्डकार्ड

वाइल्डकार्डअर्थ
%कोई भी संख्या में वर्ण (शून्य सहित)
_एकल वर्ण

सावधानियां

  • %ohn% - "John", "Johnson", "Bohn" आदि सभी से मेल खाता है
  • केस-इनसेंसिटिव (डिफ़ॉल्ट कोलेशन में)
  • बड़े तालिकाओं पर पूर्ण तालिका स्कैन का कारण बन सकता है
  • हमेशा DELETE से पहले SELECT के साथ पैटर्न का परीक्षण करें

सुरक्षित दृष्टिकोण:

  1. - MySQL में शर्त के आधार पर केवल कुछ पंक्तियां कैसे हटाएं?

    MySQL में DELETE स्टेटमेंट के WHERE क्लॉज का उपयोग करके शर्त के आधार पर केवल विशिष्ट पंक्तियों को हटाया जा सकता है। सिंटैक्स DELETE FROM table_name WHERE condition; उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(20)); mysql> INSERT INTO DemoTable VALUES (100, Bob),

  1. - MySQL में NOT IN का उपयोग करके केवल विशिष्ट पंक्तियाँ हटाएं

    MySQL में DELETE स्टेटमेंट के साथ NOT IN ऑपरेटर का उपयोग करके आप उन पंक्तियों को हटा सकते हैं जो दी गई सूची में नहीं हैं। यह विशिष्ट रिकॉर्ड रखते हुए बाकी हटाने के लिए उपयोगी है। टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1830 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI