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

MySQL में विशिष्ट कॉलम के बाद नया कॉलम कैसे जोड़ें और डिफ़ॉल्ट मान सेट करें?

MySQL में ALTER TABLE का उपयोग करके किसी विशिष्ट कॉलम के बाद नया कॉलम जोड़ें और उसका डिफ़ॉल्ट मान सेट करें।

टेबल निर्माण

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(20),
    StudentAge INT,
    StudentCountryName VARCHAR(100)
);

प्रारंभिक टेबल संरचना

mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId          | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentFirstName   | varchar(20)  | YES  |     | NULL    |                |
| StudentAge         | int(11)      | YES  |     | NULL    |                |
| StudentCountryName | varchar(100) | YES  |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+

चरण 1: StudentFirstName के बाद StudentLastName कॉलम जोड़ें

mysql> ALTER TABLE DemoTable 
    ADD StudentLastName VARCHAR(20) NOT NULL 
    AFTER StudentFirstName;

चरण 2: डिफ़ॉल्ट मान 'Doe' सेट करें

mysql> ALTER TABLE DemoTable 
    ALTER StudentLastName SET DEFAULT 'Doe';

अंतिम टेबल संरचना

mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId          | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentFirstName   | varchar(20)  | YES  |     | NULL    |                |
| StudentLastName    | varchar(20)  | NO   |     | Doe     |                |
| StudentAge         | int(11)      | YES  |     | NULL    |                |
| StudentCountryName | varchar(100) | YES  |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+

महत्वपूर्ण: AFTER column_name क्लॉज कॉलम की स्थिति निर्धारित करता है। डिफ़ॉल्ट मान सेट करने के लिए अलग ALTER COLUMN ... SET DEFAULT स्टेटमेंट की आवश्यकता होती है।

  1. - रिकॉर्ड वाले मौजूदा टेबल में नया NOT NULL कॉलम जोड़ना

    पहले से बनी टेबल में एक नया NOT NULL कॉलम जोड़ने के लिए ALTER कमांड का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.60 sec) मौजूदा टेबल मे

  1. - MySQL में IFNULL से कॉलम में NULL मानों को विशिष्ट मान से बदलें

    IFNULL(expr, default) फ़ंक्शन का उपयोग करके क्वेरी परिणाम में NULL मानों को निर्दिष्ट डिफ़ॉल्ट मान (जैसे Robert) से बदलें। टेबल बनाएं mysql> CREATE TABLE DemoTable1878 (FirstName VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1878 VALUES(Chris), (NULL), (David), (NULL); NULL को Robert

  1. - MySQL में टेबल बदलें ताकि परिकलित औसत स्कोर फ़ील्ड INSERT/UPDATE के बिना दिखे

    समाधान GENERATED ALWAYS AS ... VIRTUAL कॉलम का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType GENERATED ALWAYS AS ((col1 + col2 + ... + colN) / N) VIRTUAL; उदाहरण टेबल बनाएं: INSERT INTO demo32 VALUES (30,60), (20,40), (35,35); वर्चुअल कॉलम जोड़ें GENERATE