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

MySQL टेबल्स या इंडेक्स का पुनर्निर्माण या मरम्मत


तालिकाओं और अनुक्रमणिकाओं में परिवर्तन यह दर्शाता है कि MySQL डेटा प्रकारों और वर्ण सेटों को कैसे संभालता है। आवश्यक तालिका की मरम्मत या उन्नयन की रिपोर्ट CHECK TABLE, mysqlcheck, या mysql_upgrad द्वारा की जाती है।

टेबल फिर से बनाएं

तालिका के पुनर्निर्माण के कई तरीके हैं। उनमें से कुछ को नीचे सूचीबद्ध किया गया है -

  • डंप और रीलोड विधि

  • वैकल्पिक तालिका विधि

  • मरम्मत तालिका विधि

आइए हम उनमें से प्रत्येक को संक्षेप में समझें -

डंप और रीलोड विधि

यदि तालिकाओं को इस तथ्य के कारण फिर से बनाया जा रहा है कि MySQL संस्करण के विभिन्न संस्करण बाइनरी (इन-प्लेस) अपग्रेड या डाउनलोड के बाद तालिकाओं को संभाल नहीं सकते हैं, तो इस डंप और रीलोड विधि का उपयोग करने की आवश्यकता है।

एक टेबल को डंप करके और फिर से लोड करके फिर से बनाया जा सकता है। यह 'mysqldump' का उपयोग करके और एक डंप फ़ाइल बनाकर और mysql को फ़ाइल को फिर से लोड करने की अनुमति देकर किया जा सकता है। यह नीचे दिए गए आदेशों का उपयोग करके किया जा सकता है -

mysqldump db_name t1 > dump.sql
mysql db_name < dump.sql

यदि सभी तालिकाओं को एक ही डेटाबेस में फिर से बनाया जाना है, तो डेटाबेस का नाम बिना किसी तालिका नाम का उपयोग किए निर्दिष्ट किया जा सकता है। यह नीचे दिए गए कमांड का उपयोग करके किया जा सकता है -

mysqldump db_name > dump.sql
mysql db_name < dump.sql

यदि सभी डेटाबेस में सभी तालिकाओं को फिर से बनाया जाना है, तो '- - सभी डेटाबेस' विकल्प का उपयोग करना होगा। यह नीचे दिए गए कमांड का उपयोग करके किया जा सकता है -

mysqldump --all-databases > dump.sql
mysql < dump.sql

तालिका विधि बदलें

यदि किसी तालिका को ALTER TABLE विधि का उपयोग करके फिर से बनाने की आवश्यकता है, तो एक "शून्य" परिवर्तन का उपयोग किया जा सकता है। एक वैकल्पिक तालिका विवरण का उपयोग किया जा सकता है जो तालिका को बदलता है ताकि वह भंडारण इंजन का उपयोग कर सके। आइए एक उदाहरण लेते हैं:मान लीजिए कि TblName एक InnoDB तालिका है, नीचे दिए गए कथन का उपयोग तालिका के पुनर्निर्माण के लिए किया जा सकता है -

ALTER TABLE TblName ENGINE = InnoDB;

रिपेयर टेबल मेथड

REPAIR TABLE विधि केवल MyISAM, ARCHIVE और CSV तालिकाओं पर लागू होती है। स्टेटमेंट रिपेयर टेबल का उपयोग किया जा सकता है यदि टेबल चेकिंग ऑपरेशन से पता चलता है कि फाइल दूषित हो गई है या अपग्रेड की आवश्यकता है। आइए एक उदाहरण लेते हैं:MyISAM तालिका को सुधारने के लिए, नीचे दिए गए कथन को निष्पादित किया जा सकता है -

REPAIR TABLE TblName;

mysqlcheck −−repair REPAIR TABLE स्टेटमेंट के लिए कमांड−लाइन एक्सेस प्रदान करता है। यह तालिकाओं की मरम्मत का एक अधिक सुविधाजनक साधन हो सकता है क्योंकि आप डेटाबेस में किसी विशिष्ट तालिका को सुधारने के लिए −−डेटाबेस का उपयोग कर सकते हैं या सभी डेटाबेस में सभी तालिकाओं को सुधारने के लिए −−all−डेटाबेस विकल्प का उपयोग कर सकते हैं। यह नीचे दिए गए आदेशों का उपयोग करके किया जा सकता है -

mysqlcheck −−repair −−databases db_name ...
mysqlcheck −−repair −−all−databases

  1. एचटीएमएल टेबल्स

    HTML टेबल का उपयोग टैग का उपयोग करके टेबल बनाने के लिए किया जाता है। तालिका में, प्रत्येक पंक्ति को टैग का उपयोग करके निर्दिष्ट किया जाता है और तालिका शीर्षलेख को टैग का उपयोग करके परिभाषित किया जाता है। तालिका डेटा को टैग का उपयोग करके परिभाषित किया जाता है। सिंटैक्स निम्नलिखित वाक्य रचना है -

  1. दो तालिकाओं पर एक एकल MySQL चयन क्वेरी संभव है?

    हाँ यह संभव है। निम्नलिखित वाक्य रचना है - अपनेTableName1,yourTableName2 से *चुनें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1 मानों में डालें (), (), (); क्वेरी ठीक है, 3 पंक्तियाँ प्रभावित (0.14 से

  1. इंडेक्स के साथ एक MySQL टेबल कैसे बनाएं?

    इंडेक्स के साथ एक MySQL टेबल बनाने के लिए, सिंटैक्स इस प्रकार है - टेबल बनाएं yourTableName(yourColumnName1 dataType,yourColumnName2 dataType...N);index yourIndexName1 on(yourColumnName1 ); अपनी अनुक्रमणिका बनाएं yourIndexName2 on(yourColumnName2 ); आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तिय