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

MySQL में EmployeeId के आधार पर विशिष्ट रिकॉर्ड कैसे हटाएं?

MySQL में WHERE क्लॉज का उपयोग करके विशिष्ट रिकॉर्ड हटाना (DELETE)

किसी विशिष्ट शर्त (जैसे EmployeeId) के आधार पर रिकॉर्ड हटाने के लिए DELETE FROM स्टेटमेंट के साथ WHERE क्लॉज का उपयोग करें।

उदाहरण के साथ पूर्ण कार्यान्वयन

टेबल बनाना

mysql> CREATE TABLE DemoTable615 (
    EmployeeId VARCHAR(100),
    EmployeeName VARCHAR(100)
);

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

mysql> INSERT INTO DemoTable615 VALUES
('EMP-101', 'Adam'),
('EMP-1001', 'David'),
('EMP-1002', 'Chris'),
('EMP-1003', 'Robert');

सभी रिकॉर्ड देखना (पहले)

mysql> SELECT * FROM DemoTable615;

आउटपुट:

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| EMP-101    | Adam         |
| EMP-1001   | David        |
| EMP-1002   | Chris        |
| EMP-1003   | Robert       |
+------------+--------------+
4 rows in set (0.00 sec)

विशिष्ट रिकॉर्ड हटाना

mysql> DELETE FROM DemoTable615 WHERE EmployeeId = 'EMP-1002';

परिणाम: Query OK, 1 row affected (0.13 sec)

रिकॉर्ड देखना (बाद में)

mysql> SELECT * FROM DemoTable615;

आउटपुट:

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| EMP-101    | Adam         |
| EMP-1001   | David        |
| EMP-1003   | Robert       |
+------------+--------------+
3 rows in set (0.00 sec)

महत्वपूर्ण सुरक्षा बिंदु:

  • हमेशा WHERE क्लॉज उपयोग करें - बिना WHERE के DELETE FROM table सभी पंक्तियाँ हटा देगा!
  • पहले SELECT से जांचें: SELECT * FROM DemoTable615 WHERE EmployeeId = 'EMP-1002';
  • ट्रांजैक्शन उपयोग करें महत्वपूर्ण डेटा के लिए:
    START TRANSACTION;
    DELETE FROM DemoTable615 WHERE EmployeeId = 'EMP-1002';
    -- जांचें
    COMMIT; -- या ROLLBACK;

एकाधिक रिकॉर्ड हटाना

-- IN के साथ
DELETE FROM DemoTable615 WHERE EmployeeId IN ('EMP-101', 'EMP-1003');

-- पैटर्न के साथ
DELETE FROM DemoTable615 WHERE EmployeeId LIKE 'EMP-100%';

-- सबक्वेरी के साथ
DELETE FROM DemoTable615 
WHERE EmployeeId IN (SELECT EmployeeId FROM terminated_employees);

DELETE vs TRUNCATE

पहलूDELETETRUNCATE
WHERE क्लॉजसमर्थितनहीं
ट्रिगरफायर होते हैंनहीं
ऑटो-इन्क्रीमेंटरीसेट नहींरीसेट होता है
रोलबैकसंभवनहीं (DDL)
गतिधीमी (पंक्ति-दर-पंक्ति)तेज़ (पेज डीएलोकेशन)

LIMIT के साथ DELETE (MySQL विशिष्ट)

DELETE FROM DemoTable615 WHERE EmployeeName = 'Temp' LIMIT 5;

अधिकतम 5 पंक्तियाँ हटाता है। उपयोगी जब बड़ी संख्या में पंक्तियाँ हटानी हों बैच में।

  1. - MySQL टेबल में विशिष्ट तारीख की घटनाओं की गिनती कैसे करें?

    MySQL में किसी DATE कॉलम में विशिष्ट तारीख की घटनाओं (occurrences) को गिनने के लिए, COUNT(*) के साथ WHERE date(column) = target_date का उपयोग करें। यह सरल, कुशल, और इंडेक्स-अनुकूल है। उदाहरण: 2019-12-11 तारीख की गिनती डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1946 (ShippingDate DATE); डेट

  1. - MySQL में विशिष्ट सेल की सामग्री कैसे अपडेट करें

    उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2029 VALUES (4, John, Brown); विशिष्ट सेल अपडेट करें Id=4 वाली पंक्ति का FirstName और LastName बदलें: WHERE Id = 4; परिणाम +------+-----------+----------+ | Id | FirstName | LastName | +------+-----------+----------+ | 1 | Chris |

  1. - MySQL में विशिष्ट मान से कम मान वाले रिकॉर्ड छोड़कर बाकी कैसे चुनें?

    WHERE क्लॉज का उपयोग निर्दिष्ट मान से बड़े मान वाले रिकॉर्ड प्राप्त करने के लिए: yourValue; उदाहरण insert into demo27(value) values(50), (500), (100), (400), (100), (800), (600); 500 से बड़े मान चुनना 500; +----+-------+ | id | value | +----+-------+ | 6 | 800 | | 7 | 600 | +----+-------