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

MySQL TRUNCATE और DROP कमांड में महत्वपूर्ण अंतर

MySQL TRUNCATE और DROP कमांड के बीच सबसे महत्वपूर्ण अंतर यह है कि TRUNCATE कमांड टेबल की संरचना को नष्ट नहीं करती, लेकिन इसके विपरीत DROP कमांड टेबल की संरचना को भी नष्ट कर देती है।

उदाहरण:

mysql> CREATE TABLE testing(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name VARCHAR(20));
Query OK, 0 rows affected (0.24 sec)

mysql> INSERT INTO testing(Name) VALUES('Ram'),('Mohan'),('John');
Query OK, 3 rows affected (0.12 sec)

mysql> SELECT * FROM testing;
+----+-------+
| id | Name  |
+----+-------+
| 1  | Ram   |
| 2  | Mohan |
| 3  | John  |
+----+-------+

अब 'testing' टेबल को TRUNCATE करने के बाद, इसकी संरचना डेटाबेस में बनी रहती है और यह PRIMARY KEY को भी आरंभ करती है:

mysql> TRUNCATE TABLE testing;
Query OK, 0 rows affected (0.04 sec)

mysql> DESCRIBE testing;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

लेकिन जब हम टेबल पर DROP कमांड लागू करते हैं तो संरचना भी डेटाबेस से हट जाती है:

mysql> DROP TABLE testing;
Query OK, 0 rows affected (0.08 sec)

mysql> DESCRIBE testing;
ERROR 1146 (42S02): Table 'query.testing' doesn't exist

सारांश:

  • TRUNCATE: डेटा हटाता है, संरचना रखता है, AUTO_INCREMENT रीसेट करता है
  • DROP: डेटा और संरचना दोनों हटाता है, टेबल पूरी तरह गायब हो जाती है
  1. - MySQL में AND और && ऑपरेटर में अंतर क्या है?

    MySQL में AND और && दोनों **लॉजिकल AND** ऑपरेटर हैं और **कार्यात्मक रूप से समान** हैं। एकमात्र अंतर: AND **मानक SQL** है, && **MySQL-विशिष्ट** (स्वामित्व) सिंटैक्स है। समानता प्रदर्शन केस 1: दोनों ऑपरेंड 1 (TRUE) SELECT 1 && 1 AS Result; +--------+ | Result | +--------+ | 1 | +--------+ केस

  1. - MySQL में TINYINT(1) और Boolean में क्या अंतर है?

    MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं। प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है CREATE TABLE DemoTable ( isMarried BOOLEAN ); DESC DemoTable; आउटपुट: +-----------+--

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl