我们能在 MySQL 中使用 ADD 和 CHANGE 与 ALTER 语句吗?


是的,我们可以在 ALTER 语句中使用 ADD 和 CHANGE。我们首先创建一个表:

mysql> create table DemoTable
   -> (
   -> Name varchar(100),
   -> Age int
   -> );
Query OK, 0 rows affected (0.84 sec)

现在检查表的描述。

mysql> desc DemoTable;

输出

这将产生以下输出:

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Name  | varchar(100) | YES  |     | NULL    |       |
| Age   | int(11)      | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.25 sec)

以下是用 ALTER 更新一个列名,以及添加新列的查询:

mysql> alter table DemoTable
-> add column Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> add column CountryName varchar(100) after Age,
-> change column Name FirstName varchar(200);
Query OK, 0 rows affected (1.51 sec)
Records: 0  Duplicates: 0  Warnings: 0

现在,再次检查表的描述:

mysql> desc DemoTable;

输出

这将产生以下输出:

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| FirstName   | varchar(200) | YES  |     | NULL    |                |
| Age         | int(11)      | YES  |     | NULL    |                |
| CountryName | varchar(100) | YES  |     | NULL    |                |
| Id          | int(11)      | NO   | PRI | NULL    | auto_increment |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

更新于:30-06-2020

90 次浏览

启动你的职业

通过完成课程来获得认证

开始
广告