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

MySQL में टेबल से सभी रिकॉर्ड कैसे हटाएं?

TRUNCATE TABLE कमांड

MySQL में टेबल से **सभी रिकॉर्ड तेजी से हटाने** के लिए TRUNCATE TABLE कमांड का उपयोग करें। यह DELETE से बहुत तेज है क्योंकि यह पंक्ति-दर-पंक्ति नहीं हटाता, बल्कि टेबल को पुनर्निर्मित करता है।

सिंटैक्स

TRUNCATE TABLE yourTableName;

उदाहरण

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE TruncateTableDemo (
    -> BookId INT,
    -> BookName VARCHAR(200)
    -> );
Query OK, 0 rows affected (0.54 sec)

mysql> INSERT INTO TruncateTableDemo VALUES(1001, 'C in Dept');
mysql> INSERT INTO TruncateTableDemo VALUES(1002, 'The C++ Programming');
mysql> INSERT INTO TruncateTableDemo VALUES(1003, 'Let us C');

2. डेटा देखें

mysql> SELECT * FROM TruncateTableDemo;
+--------+---------------------+
| BookId | BookName            |
+--------+---------------------+
| 1001   | C in Dept           |
| 1002   | The C++ Programming |
| 1003   | Let us C            |
+--------+---------------------+
3 rows in set (0.00 sec)

3. सभी रिकॉर्ड हटाएं

mysql> TRUNCATE TABLE TruncateTableDemo;
Query OK, 0 rows affected (0.93 sec)

5. पुष्टि करें

mysql> SELECT * FROM TruncateTableDemo;
Empty set (0.00 sec)

TRUNCATE vs DELETE

विशेषताTRUNCATE TABLEDELETE FROM
गतिबहुत तेज (टेबल पुनर्निर्माण)धीमी (पंक्ति-दर-पंक्ति)
WHERE क्लॉजसमर्थित नहींसमर्थित
ट्रिगरनहीं चलतेचलते हैं
AUTO_INCREMENTरीसेट हो जाता हैबना रहता है
रोलबैकनहीं (DDL)हाँ (DML)
विदेशी कुंजीबाधा हो सकती हैकैस्केड के साथ काम करता है

कब उपयोग करें?

  • TRUNCATE: पूरी टेबल खाली करनी हो, प्रदर्शन महत्वपूर्ण हो, ऑटो-इन्क्रीमेंट रीसेट करना हो
  • DELETE: कुछ पंक्तियाँ हटानी हों, ट्रिगर चलाने हों, रोलबैक की आवश्यकता हो, विदेशी कुंजी बाधा हो

नोट: TRUNCATE एक DDL ऑपरेशन है, ट्रांजैक्शन में रोलबैक नहीं किया जा सकता (कुछ इंजन में अपवाद)।

  1. - MySQL में DELETE LIMIT 1 से डुप्लिकेट में से एक रिकॉर्ड हटाएं

    डुप्लिकेट रिकॉर्ड वाली टेबल से केवल एक रिकॉर्ड हटाने के लिए DELETE ... LIMIT 1 का उपयोग करें। सिंटैक्स DELETE FROM टेबल_नाम WHERE कॉलम_नाम = मान LIMIT 1; उदाहरण 1. टेबल बनाएं CREATE TABLE DemoTable (Amount INT); 2. डेटा डालें (50 तीन बार) INSERT INTO DemoTable VALUES(50), (100), (50), (70), (9

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

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

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

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