MySQL 操作已存在的表(ALTER TABLE)

说明:

  • <> 中的内容是自己定义的内容
  • [] 中的内容是可以省略的
  • field 包含字段名和数据类型,field_name 仅指字段名
  • table_name 指表名
  • position 指字段位置,可取值:FIRST、AFTER <field>
目录

修改表名

-- 修改数据表名称。
-- old_table_name 是修改之前的名称
-- new_table_name 是修改之后的名称
ALTER TABLE <old_table_name> RENAME [TO] <new_table_name>;

添加字段

-- 给数据表添加字段
ALTER TABLE <table_name> ADD [COLUMN] <field> [position];

如果需要添加多个字段,使用 , 连接
eg.
ALTER TABLE <table_name> ADD [COLUMN] <field> [position], ADD [COLUMN] <field> [position], ...;

修改字段

  • 修改字段名称
ALTER TABLE <table_name> CHANGE [COLUMN] <field_name> <field> [position];
  • 修改字段类型
ALTER TABLE <table_name> MODIFY <field_name> <new_type> [position];
-- 或
ALTER TABLE <table_name> CHANGE [COLUMN] <field_name> <field_name> <new_type> [position];
  • 修改字段的位置
ALTER TABLE <table_name> MODIFY <field> [position];
-- 或
ALTER TABLE <table_name> CHANGE [COLUMN] <field_name> <field> [position];

删除字段

ALTER TABLE <table_name> DROP <field_name>;

修改字段默认值

ALTER TABLE <table_name> ALTER <field_name> SET DEFAULT <value>;

删除字段默认值

ALTER TABLE <table_name> ALTER <field_name> DROP DEFAULT;

修改存储引擎

ALTER TABLE <table_name> ENGINE = <engine_name>;