📅  最后修改于: 2023-12-03 15:23:13.727000             🧑  作者: Mango
在 MySQL 中,可以通过 ALTER TABLE 语句添加、修改、删除表的列和约束。ALTER TABLE 语句允许在现有的表中添加新的列、更改列的属性,如数据类型和列的限制条件等。
以下是如何使用 ALTER TABLE 语句来添加和更新表的列。
要添加新列,可以使用 ALTER TABLE 语句,后跟 ADD COLUMN 子句,然后列出要添加的列的名称、数据类型和限制条件。
例如,要添加一个名为 age 的新列,它的数据类型为 INT,可以使用以下命令:
ALTER TABLE table_name ADD COLUMN age INT;
如果需要添加多个列,可以使用逗号分隔它们:
ALTER TABLE table_name ADD COLUMN age INT, birthdate DATE;
注意,如果要在一个非空的表中添加列,需要指定一个默认值。否则,将会抛出错误。
要修改现有列,可以使用 ALTER TABLE 语句,后跟 MODIFY COLUMN 子句,然后指定要更改的列名称、新的数据类型和限制条件。
例如,要将 age 列的数据类型修改为 BIGINT,可以使用以下命令:
ALTER TABLE table_name MODIFY COLUMN age BIGINT;
如果需要删除列,可以使用 DROP COLUMN 子句:
ALTER TABLE table_name DROP COLUMN age;
要更新现有列的属性,可以使用 ALTER TABLE 语句,后跟 CHANGE COLUMN 子句,然后指定要更改的列的名称、新的列名、新的数据类型和限制条件。
例如,要将 age 列的名称更改为 years,数据类型更改为 FLOAT,可以使用以下命令:
ALTER TABLE table_name CHANGE COLUMN age years FLOAT;
这将会修改 age 列的名称为 years,并更改它的数据类型为 FLOAT。
总而言之,ALTER TABLE 语句是 MySQL 中一个强大的工具,在添加、删除和修改表的列和约束时非常有用。上述操作详见以下代码片段:
-- 添加新列
ALTER TABLE table_name ADD COLUMN age INT;
ALTER TABLE table_name ADD COLUMN age INT, birthdate DATE;
-- 修改现有列
ALTER TABLE table_name MODIFY COLUMN age BIGINT;
ALTER TABLE table_name DROP COLUMN age;
-- 更新现有列
ALTER TABLE table_name CHANGE COLUMN age years FLOAT;