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

MySQL तालिका का स्टोरेज इंजन कैसे बदलें (UPDATE/ALTER)?

MySQL में ALTER TABLE ... ENGINE= स्टेटमेंट का उपयोग करके मौजूदा तालिका का स्टोरेज इंजन बदला जा सकता है।

सिंटैक्स

ALTER TABLE table_name ENGINE = engine_name;

उदाहरण: MyISAM से InnoDB में बदलें

MyISAM इंजन के साथ तालिका बनाएं:

mysql> CREATE TABLE DemoTable (
    ->> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->> StudentName VARCHAR(20), StudentAge INT, StudentCountryName VARCHAR(20)
    ->> ) ENGINE=MyISAM, AUTO_INCREMENT=101;

वर्तमान इंजन जांचें

mysql> SHOW CREATE TABLE DemoTable;

आउटपुट (पहले)

ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

इंजन बदलें

mysql> ALTER TABLE DemoTable ENGINE=InnoDB;

पुष्टि करें

mysql> SHOW CREATE TABLE DemoTable;

आउटपुट (बाद में)

ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

महत्वपूर्ण विचार

  • तालिका लॉक: ALTER TABLE तालिका को लॉक करता है (बड़ी तालिकाओं पर डाउनटाइम)
  • पुनर्निर्माण: डेटा नए इंजन फॉर्मेट में कॉपी होता है
  • डिस्क स्पेस: ऑपरेशन के दौरान दोगुना स्पेस चाहिए
  • ऑनलाइन DDL: MySQL 5.6+ InnoDB के लिए कुछ ऑपरेशन ऑनलाइन करता है

सामान्य इंजन परिवर्तन

  • MyISAM → InnoDB - ट्रांजैक्शन, FK, रो-लॉकिंग के लिए (अनुशंसित)
  • InnoDB → MyISAM - फुलटेक्स्ट खोज (पुराने संस्करण), रीड-ओनली आर्काइव
  • Any → Memory - अस्थायी तेज़ एक्सेस (डेटा हानि जोखिम)

सत्यापन क्वेरी

SELECT TABLE_NAME, ENGINE FROM information_schema.tables 
WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME = 'DemoTable';
  1. MySQL टेबल MyISAM या InnoDB इंजन उपयोग कर रही है कैसे जानें? MySQL टेबल MyISAM या InnoDB इंजन उपयोग कर रही है कैसे जानें?

    SHOW TABLE STATUS से टेबल स्टोरेज इंजन जांचें किसी टेबल का स्टोरेज इंजन (MyISAM, InnoDB, आदि) जानने के लिए SHOW TABLE STATUS का उपयोग करें। विशिष्ट टेबल के लिए SHOW TABLE STATUS FROM डेटाबेस_नाम LIKE टेबल_नाम; उदाहरण: business डेटाबेस में student टेबल SHOW TABLE STATUS FROM business LIKE studen

  1. Java MySQL का उपयोग करके MySQL टेबल अपडेट करें Java MySQL का उपयोग करके MySQL टेबल अपडेट करें

    JDBC में PreparedStatement का उपयोग करके पैरामीटरीकृत अपडेट को सुरक्षित रूप से निष्पादित करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable(Id INT, FirstName VARCHAR(40)); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES(100,Chris),(111,Mike),(121,Sam); अपडेट से पहले SELECT

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |