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

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


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

सिंटैक्स

TRUNCATE TABLE yourTableName;

उदाहरण

टेबल बनाना

mysql> create table DeleteAllFromTable (
-> PersonId int,
-> PersonName varchar(200)
-> ); Query OK, 0 rows affected (0.67 sec)

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

mysql> insert into DeleteAllFromTable values(100,'Johnson');
mysql> insert into DeleteAllFromTable values(101,'John');
mysql> insert into DeleteAllFromTable values(102,'Carol');
mysql> insert into DeleteAllFromTable values(103,'Sam');

हटाने से पहले

mysql> select *from DeleteAllFromTable;
+----------+------------+
| PersonId | PersonName |
+----------+------------+
| 100      | Johnson    |
| 101      | John       |
| 102      | Carol      |
| 103      | Sam        |
+----------+------------+

TRUNCATE TABLE से सभी हटाना

mysql> TRUNCATE TABLE DeleteAllFromTable; 
Query OK, 0 rows affected (0.80 sec)

हटाने के बाद

mysql> select *from DeleteAllFromTable; 
Empty set (0.00 sec)

TRUNCATE vs DELETE

पहलूTRUNCATE TABLEDELETE FROM table
गतिबहुत तेज (टेबल रीबिल्ड)धीमी (पंक्ति-दर-पंक्ति)
रोलबैकनहीं (DDL - ऑटो-कमिट)हां (DML - ट्रांजैक्शन में)
WHERE क्लॉजसमर्थित नहींसमर्थित
ट्रिगरफायर नहीं करताफायर करता है
AUTO_INCREMENTरीसेट हो जाता हैनहीं बदलता
विदेशी कुंजीब्लॉक कर सकता है (FK निर्भर)FK कंस्ट्रेंट के अनुसार

कब उपयोग करें

  • TRUNCATE: सभी डेटा हटाना, टेबल रीसेट करना, टेस्टिंग, AUTO_INCREMENT रीसेट
  • DELETE: चुनिंदा पंक्तियां हटाना, ट्रिगर फायर करना, ट्रांजैक्शन में रोलबैक आवश्यक

सावधानी

-- FK वाले टेबल पर TRUNCATE एरर दे सकता है
TRUNCATE TABLE parent_table; -- Error यदि child_table में FK है

-- समाधान: FK अक्षम करें, फिर ट्रंकेट, फिर सक्षम करें
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE parent_table;
TRUNCATE TABLE child_table;
SET FOREIGN_KEY_CHECKS = 1;

  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 में DATE_ADD() का उपयोग करके सभी दिनांक रिकॉर्ड में एक वर्ष कैसे जोड़ें?

    MySQL में DATE_ADD() फ़ंक्शन का उपयोग करके दिनांक/दिनांक-समय कॉलम में अंतराल (वर्ष, महीना, दिन, आदि) जोड़ा जा सकता है। सिंटैक्स DATE_ADD(date, INTERVAL value unit) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (JoiningDate DATETIME); mysql> INSERT INTO DemoTable VALUES (2015-01-21), (20

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

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