我们可以在MySQL中对ALTER语句使用ADD和CHANGE吗?

是的,我们可以对ALTER语句使用ADD和CHANGE。让我们首先创建一个表-

mysql> create table DemoTable
   -> (
   -> Name varchar(100),
   -> Age int
   -> );

现在检查表的描述。

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);
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)