在MySQL中,ALTER TABLE 是用于修改已有表结构的强大命令。你可以用它来添加、删除或修改字段,调整索引,更改数据类型,以及重命名表等操作。下面介绍几种常见的使用场景和语法。
添加新字段
如果想在已存在的表中增加一个新列,可以使用 ADD 关键字。语法:
ALTER TABLE 表名 ADD 字段名 数据类型 [约束];
示例: 向 users 表中添加 age 字段
ALTER TABLE users ADD age INT DEFAULT 0;
删除字段
若某个字段不再需要,可通过 DROP 删除。语法:
ALTER TABLE 表名 DROP 字段名;
示例: 删除 users 表中的 age 字段
ALTER TABLE users DROP age;
修改字段定义
使用 MODIFY 可以更改字段的数据类型和约束(不改字段名),而 CHANGE 则可同时修改字段名和定义。MODIFY 示例: 修改 age 字段为 TINYINT 类型
ALTER TABLE users MODIFY age TINYINT UNSIGNED;
CHANGE 示例: 将 age 字段更名为 user_age 并改为 SMALLINT
ALTER TABLE users CHANGE age user_age SMALLINT;
重命名表
使用 RENAME TO 可以给表换个名字。语法:
ALTER TABLE 原表名 RENAME TO 新表名;
示例: 将 users 表重命名为 user_info
ALTER TABLE users RENAME TO user_info;
添加和删除索引
可以在 ALTER TABLE 中直接管理索引,比如添加普通索引或唯一索引。添加索引示例:
ALTER TABLE users ADD INDEX idx_name (name);
ALTER TABLE users ADD UNIQUE uk_email (email);
删除索引:
ALTER TABLE users DROP INDEX idx_name;
