在大多数情况下,表结构更改时都使用 alter table 语句。

1.修改表类型

# 语法
mysql> alter table 表名 modify [column] 列定义 [first | after 列名];

实例:修改表 emp 的 ename 字段,将 varchar(10) 改为 将 varchar(20)

mysql> alter table emp modify ename varchar(20);

1.png

2.增加表字段

# 语法
mysql> alter table 表名 add [column] 列定义 [first | after 列名];

实例:表 emp 新增字段 age,类型为 int

mysql> alter table emp add age int;

2.png

3.删除表字段

# 语法
mysql> alter table 表名 drop [column] 列名;

实例:删除字段 age

mysql> alter table emp drop age;

3.png

4.字段改名

# 语法
mysql> alter table 表名 change [column] 旧列名 列定义 [first | after 列名];

实例:删除字段 age

mysql> alter table emp change age age1 smallint;

4.png

5.修改字段排列顺序

实例:新增字段 birth date 加在 ename 之后

mysql> alter table emp add birth date after ename;

实例:修改字段 age1 ,将它放最前面

mysql> alter table emp modify age1 int first;

5.png

6.更改表名

# 语法
mysql> alter table 表名 rename [to] 新表名;

实例:表 emp 改名为 emp1

mysql> alter table emp rename to emp1;

6.png

参考书籍

-- 书名: 深入浅出MySQL --数据库开发、优化与管理维护(第3版) -- 作者:翟振兴 崔春华 黄荣 董骐铭