MySQL में ALTER TABLE ... ADD कमांड का उपयोग करके आप मौजूदा तालिका में ENUM (गणना) प्रकार का नया कॉलम जोड़ सकते हैं। ENUM पूर्वनिर्धारित मानों की सूची तक सीमित करता है, डेटा अखंडता सुनिश्चित करता है।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(200),
StudentAge INT
);
वर्तमान संरचना देखना
mysql> DESC DemoTable;
आउटपुट: StudentId, StudentName, StudentAge (3 कॉलम)
ENUM कॉलम जोड़ना (लिंग के लिए)
mysql> ALTER TABLE DemoTable ADD StudentGender ENUM('Male', 'Female') NOT NULL;
आउटपुट: Query OK, 0 rows affected (0.40 sec)
अपडेट की गई संरचना देखना
mysql> DESC DemoTable;
आउटपुट:
+---------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-----------------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentName | varchar(200) | YES | | NULL | |
| StudentAge | int(11) | YES | | NULL | |
| StudentGender | enum('Male','Female') | NO | | NULL | |
+---------------+-----------------------+------+-----+---------+----------------+
ENUM विशेषताएं:
- संग्रहण: आंतरिक रूप से पूर्णांक के रूप में संग्रहीत (1-आधारित सूचकांक), कॉम्पैक्ट
- मान्यता: केवल सूचीबद्ध मान स्वीकार करता है (सख्त मोड में अमान्य मान त्रुटि देता है)
NULLअनुमत है यदिNOT NULLनिर्दिष्ट नहीं है- क्रम: सूची क्रम के अनुसार क्रमबद्ध होता है, वर्णानुक्रम नहीं
- अधिकतम: 65,535 अलग मान तक
डेटा डालना:
INSERT INTO DemoTable (StudentName, StudentAge, StudentGender)
VALUES ('Alice', 20, 'Female'), ('Bob', 22, 'Male');
मानों को संख्या के रूप में देखना: SELECT StudentGender + 0 FROM DemoTable; → 1, 2