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

Posted Blog_Lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>;


以上是关于MySQL 操作已存在的表(ALTER TABLE)的主要内容,如果未能解决你的问题,请参考以下文章

13.PostgreSQL Alter,Truncate Table

mysql数据库在已存在表格上增删列,能否用alter table语句实现?

MYSQL 5.7 alter table 小记

PostgreSQL ALTER TABLE 命令

PostgreSQL ALTER TABLE 命令

sql ALTER TABLE if列不存在。来自http://stackoverflow.com/questions/24571611/mysql-alter-table-if-column-not