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

क्या MySQL DROP TABLE पूरी तरह से टेबल या सिर्फ स्ट्रक्चर को हटा देता है?

<घंटा/>

DROP TABLE टेबल को पूरी तरह से हटा देता है और सभी डेटा को भी हटा देता है। यदि आप सभी डेटा को पूरी तरह से हटाना चाहते हैं और तालिका संरचना चाहते हैं, तो आप TRUNCATE TABLE कमांड का उपयोग कर सकते हैं। TRUNCATE कमांड टेबल को फिर से बनाएगा।

आइए सबसे पहले ड्रॉप टेबल की जांच करें। उसके लिए, हम सबसे पहले एक टेबल बनाएंगे -

mysql> तालिका बनाएं DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.20 सेकंड)

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

mysql> डेमोटेबल (नाम) मान ('लैरी') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> डेमोटेबल (नाम) मान ('क्रिस') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.05 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट देगा -

+-----+----------+| आईडी | नाम |+----+----------+| 1 | लैरी || 2 | क्रिस |+-----+----------+2 पंक्तियों में सेट (0.00 सेकंड)

अब, ड्रॉप टेबल कमांड का उपयोग करें। DROP TABLE कमांड को निष्पादित करने के बाद, डेटा हटा दिया जाएगा और साथ ही कोई तालिका संरचना नहीं होगी।

mysql> ड्रॉप टेबल डेमोटेबल;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.18 सेकंड)

यदि आप डेटा प्रदर्शित करने का प्रयास करते हैं, तो आपको निम्न त्रुटि मिलेगी -

mysql> डेमोटेबल से *चुनें;ERROR 1146 (42S02):टेबल 'hb_student_tracker.DemoTable' मौजूद नहीं है

आपको टेबल स्ट्रक्चर भी नहीं मिलेगा -

mysql> desc DemoTable;ERROR 1146 (42S02):टेबल 'hb_student_tracker.DemoTable' मौजूद नहीं है

आइए TRUNCATE कमांड को लागू करें।

mysql> तालिका बनाएं DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.63 सेकंड)

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

mysql> डेमोटेबल (फर्स्टनाम) वैल्यू ('क्रिस') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.08 सेकंड) mysql> डेमोटेबल (फर्स्टनाम) वैल्यू ('रॉबर्ट') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित ( 0.07 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+----+-----------+| आईडी | प्रथम नाम |+----+-----------+| 1 | क्रिस || 2 | रॉबर्ट |+----+-----------+2 पंक्तियों में सेट (0.00 सेकंड)

अब, TRUNCATE कमांड को लागू करें। TRUNCATE कमांड को निष्पादित करने के बाद, तालिका से डेटा हटा दिया जाएगा और तालिका संरचना को फिर से बनाया जाएगा।

mysql> TRUNCATE TABLE DemoTable;Query OK, 0 पंक्तियाँ प्रभावित (0.06 सेकंड)

अब आपको टेबल से कोई डेटा नहीं मिलेगा लेकिन टेबल स्ट्रक्चर दिखाई देगा -

mysql> डेमोटेबल से *चुनें;खाली सेट (0.00 सेकेंड)

तालिका संरचना प्राप्त करने के लिए निम्नलिखित क्वेरी है -

mysql> desc DemoTable;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+----------+----------------+------+-----+---------- --+----------------+| फील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |+----------+----------------+------+-----+----- -+----------------+| आईडी | इंट(11) | नहीं | पंचायती राज | नल | auto_increment || प्रथम नाम | वर्कर(20) | हाँ | | नल | |+----------+----------------+------+-----+-------- +----------------+2 पंक्तियाँ सेट में (0.01 सेकंड)
  1. MySQL तालिका में मानों से केवल प्रतिशत चिह्न निकालें?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable828( CustomerName varchar(100), इंटरेस्टरेट varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.50 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable828 मानों में डालें (बॉब, 20%);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) चयन क

  1. MySQL के साथ तालिका में मानों में फेरबदल करें

    तालिका में मानों में फेरबदल करने के लिए, MySQL रैंड () का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable792 (नाम varchar(100), सब्जेक्ट varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.66 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 792 मानों में डालें (कैर

  1. MySQL तालिका से अनुक्रमणिका निकालें

    MySQL टेबल से इंडेक्स को हटाने के लिए, सिंटैक्स इस प्रकार है - टेबल बदलें yourTableName ड्रॉप इंडेक्स `yourIndexName`; आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.78 सेकंड) कॉलम नाम पर इंडेक्स जोड़ने की क्वेरी निम्नलिखित है - DemoTable1469(StudentName) पर स्टूडेंट नेम_इंडेक