Quy trình: ALTER TABLE ... ADD COLUMN để thêm cột, sau đó UPDATE để điền dữ liệu.
Tạo bảng ban đầu
mysql> CREATE TABLE DemoTable(
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
);
Query OK, 0 rows affected (0.47 sec)
Chèn dữ liệu ban đầu
mysql> INSERT INTO DemoTable(Name) VALUES('John');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Bob');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Adam');
Query OK, 1 row affected (0.28 sec)
Thêm cột Gender kiểu ENUM
mysql> ALTER TABLE DemoTable ADD COLUMN Gender ENUM('MALE','FEMALE');
Query OK, 0 rows affected (0.55 sec)
Cập nhật giá trị cho cột mới
mysql> UPDATE DemoTable SET Gender = 'FEMALE' WHERE Id = 2; Query OK, 1 row affected (0.13 sec)
Kết quả
+----+------+--------+ | Id | Name | Gender | +----+------+--------+ | 1 | John | NULL | | 2 | Bob | FEMALE | | 3 | Adam | NULL | +----+------+--------+
Mẹo: Có thể đặt DEFAULT khi ADD COLUMN để tự động điền giá trị cho các hàng cũ: ADD COLUMN Gender ENUM('MALE','FEMALE') DEFAULT 'MALE'.