向現有 MySQL 表中新增新列舉列?


若要向現有 MySQL 表中新增新列舉列,可以使用 ALTER 命令。如下所示

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

我們先建立一個表

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)

使用 DESC 命令檢查表的描述

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    |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

以下為在現有表中新增新列舉列的查詢。我們將其設定為學生性別

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

讓我們再次檢查表的描述

mysql> desc DemoTable;

這將產生以下輸出,併為 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)

檢視上述示例輸出,列 StudentGender 的資料型別為 ENUM。

更新日期: 30-7-2019

6k+ 瀏覽量

踢start 您的 事業

完成課程即可獲得認證

開始
廣告