使用在單個 MySQL 查詢中 ALTER,向現有表新增新列和索引?


若要將新列新增到現有表,請使用 ADD。這樣,若要新增新索引,請使用 ADD INDEX()。讓我們首先建立一個表 −

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(100),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.69 sec)

我們檢查表的描述 −

mysql> desc DemoTable;

這將產生以下輸出 −

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| Id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

以下是向現有表新增新列和索引的查詢 −

mysql> alter table DemoTable
   -> add ArrivalDate DATETIME DEFAULT NOW(),
   -> add index(ArrivalDate);
Query OK, 0 rows affected (2.05 sec)
Records: 0 Duplicates: 0 Warnings: 0

再次檢查表的描述 −

mysql> desc DemoTable;

這將產生以下輸出 −

+-------------+--------------+------+-----+-------------------+----------------+
| Field       | Type         | Null | Key | Default           | Extra          |
+-------------+--------------+------+-----+-------------------+----------------+
| Id          | int(11)      | NO   | PRI | NULL              | auto_increment |
| Name        | varchar(100) | YES  |     | NULL              |                |
| ArrivalDate | datetime     | YES  | MUL | CURRENT_TIMESTAMP |                |
+-------------+--------------+------+-----+-------------------+----------------+
3 rows in set (0.01 sec)

更新於: 30-Jul-2019

378 檢視數

開啟您的 職業 生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.