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

MySQL टेबल या इंडेक्स को रीबिल्ड या रिपेयर करना


टेबल और इंडेक्स में परिवर्तन इस बात को संदर्भित करते हैं कि MySQL डेटा प्रकार और कैरेक्टर सेट को कैसे संभालता है। आवश्यक टेबल मरम्मत या अपग्रेड CHECK TABLE, mysqlcheck, या mysql_upgrade द्वारा रिपोर्ट किए जाते हैं।

टेबल रीबिल्ड करें

टेबल रीबिल्ड करने के कई तरीके हैं। उनमें से कुछ नीचे सूचीबद्ध हैं:

  • डंप और रीलोड मेथड

  • ALTER TABLE मेथड

  • REPAIR TABLE मेथड

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

डंप और रीलोड मेथड

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

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

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

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

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

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

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

ALTER TABLE मेथड

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

ALTER TABLE TblName ENGINE = InnoDB;

REPAIR TABLE मेथड

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

REPAIR TABLE TblName;

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

mysqlcheck --repair --databases db_name ...
mysqlcheck --repair --all-databases

  1. HTML टेबल्स HTML टेबल्स

    परिचय HTML टेबल <table> टैग का उपयोग करके बनाई जाती है। टेबल में, प्रत्येक पंक्ति <tr> टैग से निर्दिष्ट होती है, टेबल हेडर <th> टैग से परिभाषित होता है, और टेबल डेटा <td> टैग से परिभाषित होता है। सिंटैक्स <table> <tr> <th>टेबल हेडर</th> <

  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN