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

MySQL में शर्त के साथ TRUNCATE?


MySQL में, शर्त के साथ TRUNCATE करने का कोई तरीका नहीं है। आप WHERE क्लॉज के साथ TRUNCATE स्टेटमेंट का उपयोग नहीं कर सकते।

यदि आप शर्त चाहते हैं, तो DELETE कमांड का उपयोग करें:

DELETE FROM yourTableName WHERE yourCondition;

उपरोक्त सिंटैक्स ठीक है लेकिन यदि आप तेज समाधान चाहते हैं, तो DELETE की तुलना में TRUNCATE अच्छा नहीं है। TRUNCATE का फायदा यह है कि यह लॉग में नहीं लिखता।

आइए एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:

mysql> CREATE TABLE DeleteDemo (
    -> Id INT,
    -> Name VARCHAR(100)
    -> ); Query OK, 0 rows affected (1.22 sec)

INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> INSERT INTO DeleteDemo VALUES(101,'Carol'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DeleteDemo VALUES(102,'Sam'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DeleteDemo VALUES(103,'Bob'); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DeleteDemo VALUES(104,'Mike'); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DeleteDemo VALUES(105,'John'); Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DeleteDemo VALUES(106,'Maria'); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DeleteDemo VALUES(107,'Johnson'); Query OK, 1 row affected (0.17 sec)

आइए अब SELECT कमांड का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> SELECT * FROM DeleteDemo;

आउटपुट

+------+---------+
| Id   | Name    |
+------+---------+
| 101  | Carol   |
| 102  | Sam     |
| 103  | Bob     |
| 104  | Mike    |
| 105  | John    |
| 106  | Maria   |
| 107  | Johnson |
+------+---------+
7 rows in set (0.00 sec)

अब आप DELETE कमांड का उपयोग कर सकते हैं लेकिन यह WHERE क्लॉज के साथ TRUNCATE नहीं करेगा। WHERE क्लॉज का उपयोग करके टेबल से रिकॉर्ड हटाने का क्वेरी:

mysql> DELETE FROM DeleteDemo WHERE Id > 104; Query OK, 3 rows affected (0.13 sec)

आइए एक बार फिर SELECT कमांड का उपयोग करके टेबल डेटा चेक करें:

mysql> SELECT * FROM DeleteDemo;

आउटपुट

+------+-------+
| Id   | Name  |
+------+-------+
| 101  | Carol |
| 102  | Sam   |
| 103  | Bob   |
| 104  | Mike  |
+------+-------+
4 rows in set (0.00 sec)

उपरोक्त नमूना आउटपुट देखें, 104 से अधिक सभी रिकॉर्ड टेबल से हटा दिए गए हैं।


  1. - MySQL क्वेरी में COUNT के साथ CASE शर्त का उपयोग कैसे करें

    COUNT() के अंदर CASE WHEN का उपयोग करके सशर्त गिनती MySQL में इसके लिए CASE WHEN का उपयोग करें और COUNT() मेथड के अंदर CASE शर्त सेट करें। पहले टेबल बनाएं: create table DemoTable1374 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows affected (0.61 sec) रि

  1. - MySQL में शर्त के साथ गिनती करना

    SUM(बूलियन) से सशर्त गिनती MySQL में बूलियन अभिव्यक्ति (ClientName = Sam) संख्यात्मक संदर्भ में 1 (सत्य) या 0 (असत्य) होती है। SUM() से ऐसी अभिव्यक्तियों का योग = गिनती। तालिका और डेटा (CLI-130, Mike), (CLI-101, Chris), (CLI-101, Sam); क्वेरी: CLI-101 पर कुल और Sam की गिनती WHERE ClientId = CLI

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड