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

MySQL में किसी खास मान से ज्यादा वैल्यू वाले रिकॉर्ड कैसे डिलीट करें?

WHERE क्लॉज के साथ DELETE से रिकॉर्ड हटाना

MySQL में किसी न्यूमेरिक कॉलम की वैल्यू एक खास थ्रेशोल्ड से ज्यादा होने पर उन रिकॉर्ड्स को डिलीट करने के लिए DELETE स्टेटमेंट के साथ WHERE क्लॉज का उपयोग करें।

टेबल बनाना और डेटा इन्सर्ट करना

CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    PlayerName VARCHAR(100),
    PlayerScore INT
);

INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES('Chris', 780);
INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES('Sam', 1100);
INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES('Mike', 900);
INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES('Bob', 890);
INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES('Carol', 1000);

मौजूदा डेटा

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
| 1  | Chris      | 780         |
| 2  | Sam        | 1100        |
| 3  | Mike       | 900         |
| 4  | Bob        | 890         |
| 5  | Carol      | 1000        |
+----+------------+-------------+

क्वेरी: 900 से ज्यादा स्कोर वाले डिलीट करना

DELETE FROM DemoTable WHERE PlayerScore > 900;
Query OK, 2 rows affected (0.18 sec)

डिलीशन के बाद डेटा

SELECT * FROM DemoTable;
+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
| 1  | Chris      | 780         |
| 3  | Mike       | 900         |
| 4  | Bob        | 890         |
+----+------------+-------------+

महत्वपूर्ण बिंदु

  • WHERE क्लॉज के बिना DELETE सभी रिकॉर्ड डिलीट कर देगा
  • डिलीट करने से पहले SELECT * FROM DemoTable WHERE PlayerScore > 900; चलाकर देख लें
  • बड़े डेटासेट के लिए बैच में डिलीट करें: DELETE ... LIMIT 1000;
  • TRUNCATE तेज है लेकिन शर्त नहीं लगा सकते
  • विदेशी कुंजी (Foreign Key) होने पर ON DELETE CASCADE/SET NULL व्यवहार चेक करें

सॉफ्ट डिलीट विकल्प (अनुशंसित)

ALTER TABLE DemoTable ADD COLUMN IsDeleted BOOLEAN DEFAULT FALSE;
UPDATE DemoTable SET IsDeleted = TRUE WHERE PlayerScore > 900;

फिर क्वेरीज़ में WHERE IsDeleted = FALSE जोड़ें।

  1. Java से MySQL डेटाबेस में डेटा कैसे डिलीट करें? Java से MySQL डेटाबेस में डेटा कैसे डिलीट करें?

    JDBC का उपयोग करके MySQL से रिकॉर्ड डिलीट करें Java से MySQL में डेटा डिलीट करने के लिए, आप JDBC के साथ SQL DELETE कथन का उपयोग करते हैं। SQL सिंटैक्स DELETE FROM टेबल_नाम WHERE शर्त; पूर्ण Java उदाहरण 1. डेटाबेस तैयारी INSERT INTO DeleteTableDemo VALUES(101, Smith), (102, Johnson); 2. Java को

  1. - MySQL में CONCAT और CONCAT_WS से 2 से अधिक फील्ड कैसे जोड़ें?

    MySQL में 2 से अधिक कॉलम/फील्ड को जोड़ने (कॉनकैटनेट) के लिए CONCAT() या अधिक सुविधाजनक CONCAT_WS() (With Separator) फंक्शन का उपयोग करें। सिंटैक्स CONCAT() - मैनुअल सेपरेटर SELECT CONCAT(col1, /, col2, /, col3, /, col4) AS combined FROM table; CONCAT_WS() - ऑटोमैटिक सेपरेटर (अनुशंसित) SELECT CONC

  1. PHP और MySQL में  बूलियन  मानों को कैसे संभालें? PHP और MySQL में 'बूलियन' मानों को कैसे संभालें?

    MySQL में बूलियन डेटा प्रकार समझना MySQL 8.0.12 में बूलियन मानों को संभालने के लिए आप BOOL, BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। जब आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में परिवर्तित कर देता है। बूलियन लिटरल का प्रतिनिधित्व BOOL या BOOLEAN डेटा प्रकार