Skip to main content

MySQL ALTER表

设置示例表

让我们为演示创建一个名为vehicles的表:

CREATE TABLE vehicles (
vehicleId INT,
year INT NOT NULL,
make VARCHAR(100) NOT NULL,
PRIMARY KEY(vehicleId)
);

MySQL ALTER TABLE - sample table

MySQL ALTER TABLE–向表中添加列

ALTER TABLE ADD语句允许向表中添加一个或多个列。

1) 向表中添加列

要向表中添加列,请使用ALTER table add语法:

ALTER TABLE table_name
ADD
new_column_name column_definition
[FIRST | AFTER column_name]

在这种语法中:

以下示例使用ALTER TABLE ADD语句在车辆表的末尾添加一列:

ALTER TABLE vehicles
ADD model VARCHAR(100) NOT NULL;

此语句显示车辆表的列列表:

DESCRIBE vehicles;

从输出中可以清楚地看到,列模型已添加到vehicles表中。

2) 向表中添加多列

要向表中添加多列,请使用以下形式的ALTER TALE add语句:

ALTER TABLE table_name
ADD new_column_name column_definition
[FIRST | AFTER column_name],
ADD new_column_name column_definition
[FIRST | AFTER column_name],
...;

例如,此语句在vehicles表中添加了两列color和note:

ALTER TABLE vehicles
ADD color VARCHAR(50),
ADD note VARCHAR(255);

此声明显示车辆表的新结构:

DESCRIBE vehicles;

<img class=“alignnone size full wp-image-8356”src=”https://www.mysqltutorial.org/wp-content/uploads/2019/09/MySQL-ALTER-TABLE-add-multiple-columns-example.png“alt=“MySQL ALTER TABLE-添加多列示例”width=“333”height=“141”srcset=”https://www.mysqltutorial.org/wp-content/uploads/2019/09/MySQL-ALTER-TABLE-add-multiple-columns-example.png333w,https://www.mysqltutorial.org/wp-content/uploads/2019/09/MySQL-ALTER-TABLE-add-multiple-columns-example-200x85.png200w“尺寸=(最大宽度:333像素)100vw,333像素”/>

MySQL ALTER TABLE–修改列

1) 修改列

以下是修改表中列的基本语法:

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name];

最好在修改列之前查看列的属性。

假设要将注释列更改为最多100个字符的NOT NULL列。

首先,显示车辆表的列列表:

DESCRIBE vehicles;

MySQL ALTER TABLE - before modify column

然后,修改注释列:

ALTER TABLE vehicles 
MODIFY note VARCHAR(100) NOT NULL;

最后,显示车辆表的列列表以验证更改:

DESCRIBE vehicles;

MySQL ALTER TABLE - after modify column

2) 修改多列

以下语句允许您修改多列:

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name],
MODIFY column_name column_definition
[ FIRST | AFTER column_name],
...;

首先,显示车辆表的当前列:

其次,使用ALTER TABLE MODIFY语句修改多个列:

ALTER TABLE vehicles 
MODIFY year SMALLINT NOT NULL,
MODIFY color VARCHAR(20) NULL AFTER make;

在本例中:

第三,显示车辆表的新列列表以验证修改:

MySQL ALTER TABLE - after modify multiple columns

MySQL ALTER TABLE–重命名表中的列

要重命名列,请使用以下语句:

ALTER TABLE table_name
CHANGE COLUMN original_name new_name column_definition
[FIRST | AFTER column_name];

在这种语法中:

以下示例使用ALTER TABLE CHANGE COLUMN语句将列注释重命名为vehicleCondition:

ALTER TABLE vehicles 
CHANGE COLUMN note vehicleCondition VARCHAR(100) NOT NULL;

让我们查看车辆表的列列表:

DESCRIBE vehicles;

MySQL ALTER TABLE - after rename column

MySQL ALTER TABLE–删除一列

要在表中删除列,请使用ALTER table drop column语句:

ALTER TABLE table_name
DROP COLUMN column_name;

在这种语法中:

此示例显示了如何从vehicles表中删除vehicleCondition列:

ALTER TABLE vehicles
DROP COLUMN vehicleCondition;

MySQL ALTER TABLE–重命名表格

要重命名表,请使用ALTER table rename To语句:

ALTER TABLE table_name
RENAME TO new_table_name;

在这种语法中:

本例将vehicles表重命名为cars:

ALTER TABLE vehicles 
RENAME TO cars;

在本教程中,您学习了如何使用MySQL ALTER TABLE语句添加列、修改列、重命名列、删除列和重命名表。