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

MySQL तालिका के कॉलम का डेटा प्रकार कैसे बदलें?

MySQL में ALTER TABLE ... MODIFY कमांड का उपयोग करके आप किसी मौजूदा कॉलम का डेटा प्रकार बदल सकते हैं। यह स्कीमा विकास, डेटा प्रकार सुधार, या भंडारण अनुकूलन के लिए आवश्यक है।

उदाहरण तालिका बनाना

mysql> CREATE TABLE DemoTable (
    StudentId VARCHAR(200) NOT NULL,
    StudentName VARCHAR(20),
    StudentAge INT,
    StudentAddress VARCHAR(20),
    StudentCountryName VARCHAR(20)
);

वर्तमान संरचना देखना

mysql> DESC DemoTable;

आउटपुट:

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| StudentId          | varchar(200) | NO   |     | NULL    |       |
| StudentName        | varchar(20)  | YES  |     | NULL    |       |
| StudentAge         | int(11)      | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)  | YES  |     | NULL    |       |
| StudentCountryName | varchar(20)  | YES  |     | NULL    |       |
+--------------------+--------------+------+-----+---------+-------+

StudentId को VARCHAR से BIGINT में बदलना

mysql> ALTER TABLE DemoTable 
    -> MODIFY StudentId BIGINT(10) UNSIGNED NOT NULL DEFAULT 0;

आउटपुट: Query OK, 0 rows affected (1.51 sec)

बदली हुई संरचना सत्यापित करना

mysql> DESC DemoTable;

आउटपुट:

+--------------------+---------------------+------+-----+---------+-------+
| Field              | Type                | Null | Key | Default | Extra |
+--------------------+---------------------+------+-----+---------+-------+
| StudentId          | bigint(10) unsigned | NO   |     | 0       |       |
| StudentName        | varchar(20)         | YES  |     | NULL    |       |
| StudentAge         | int(11)             | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)         | YES  |     | NULL    |       |
| StudentCountryName | varchar(20)         | YES  |     | NULL    |       |
+--------------------+---------------------+------+-----+---------+-------+

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

  • डेटा संगतता: मौजूदा डेटा नए प्रकार के साथ संगत होना चाहिए। अमान्य डेटा त्रुटि या डेटा हानि का कारण बनेगा।
  • डिफ़ॉल्ट मान: NOT NULL कॉलम के लिए डिफ़ॉल्ट मान निर्दिष्ट करना आवश्यक हो सकता है।
  • इंडेक्स/विदेशी कुंजी: इंडेक्स या विदेशी कुंजी वाले कॉलम को बदलने के लिए उन्हें पहले ड्रॉप करना पड़ सकता है।
  • प्रदर्शन: बड़ी तालिकाओं पर यह ऑपरेशन लॉकिंग और पुनर्निर्माण के कारण धीमा हो सकता है।
  1. - MySQL में एक ही क्वेरी में कई कॉलम के डेटा टाइप को कैसे बदलें?

    MySQL में एक साथ कई कॉलम के डेटा टाइप बदलना MySQL में एक ही ALTER TABLE स्टेटमेंट का उपयोग करके आप एक साथ कई कॉलम के डेटा टाइप को संशोधित कर सकते हैं। इसके लिए सिंटैक्स निम्नलिखित है: ALTER TABLE yourTableName MODIFY COLUMN yourColumnName1 yourDataType1, MODIFY COLUMN yourColumnName2 yourDataType2

  1. - MySQL में टेबल कॉलम को VARCHAR से NULL अनुमति वाले में बदलना

    ALTER TABLE CHANGE से कॉलम को NULL अनुमति देना मौजूदा VARCHAR कॉलम को NULL वैल्यू अनुमति देने के लिए (अगर पहले NOT NULL था) ALTER TABLE ... CHANGE का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName CHANGE yourColumnName yourColumnName datatype NULL DEFAULT NULL; टेबल बनाना CREATE TABLE DemoTable13

  1. - MySQL में कॉलम उपनाम को विशिष्ट डेटा टाइप का बाध्य करना

    CASE और CAST से उपनाम का डेटा टाइप नियंत्रित करना CASE स्टेटमेंट के साथ CAST() का उपयोग करके परिणाम कॉलम का डेटा टाइप स्पष्ट रूप से निर्धारित किया जा सकता है। तालिका और डेटा INSERT INTO DemoTable1505 VALUES(20, 0), (45, 1); क्वेरी: स्टेटस के आधार पर साइन बदलना FROM DemoTable1505; परिणाम +----