Computer >> Máy Tính >  >> Lập trình >> MySQL

Thêm cột enum mới vào bảng MySQL hiện có?

Để thêm một cột enum mới vào bảng MySQL hiện có, bạn có thể sử dụng lệnh ALTER. Sau đây là cú pháp:

ALTER TABLE yourTableName ADD yourColumnName ENUM('yourValue1','yourValue2’....N) NOT NULL;

Đầu tiên chúng ta hãy tạo một bảng:

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(200),
   StudentAge int
);
Query OK, 0 rows affected (0.62 sec)

Kiểm tra mô tả của bảng bằng lệnh DESC:

mysql> DESC DemoTable;

Điều này sẽ tạo ra kết quả sau:

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| StudentId   | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(200) | YES  |     | NULL    |                |
| StudentAge  | int(11)      | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

Sau đây là truy vấn để thêm một cột enum mới vào bảng hiện có. Chúng tôi đã đặt nó cho Giới tính sinh viên:

mysql> ALTER TABLE DemoTable ADD StudentGender ENUM('Male','Female') NOT NULL;
Query OK, 0 rows affected (0.40 sec)
Records: 0 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra mô tả của bảng một lần nữa:

mysql> desc DemoTable;

Điều này sẽ tạo ra kết quả sau và hiển thị các giá trị enum cũng cho GENDER:

+---------------+-----------------------+------+-----+---------+----------------+
| 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    |                |
+---------------+-----------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

Nhìn vào kết quả đầu ra mẫu ở trên, cột StudentGender có kiểu dữ liệu ENUM.