1 增加列
- 一列
ALTER TABLE <table_name> ADD <column_name> <column_type>;
- 多列,将增加的多个列加小括号即可
ALTER TABLE <table_name> ADD (<col1_name> <col1_type>,<co2_name> <col2_type>,… );
2 删除列
删除列时,如果这一列跟其他表有关联关系(外键),则可能无法直接删除,需先解除关联关系。
- 一列
ALTER TABLE <table_name> DROP COLUMN <column_name>;
- 多列
ALTER TABLE <table_name> DROP COLUMN <col_name1>,<col_name2>,……<col_nameN>;
3 修改列
a. 修改列名:表中有无数据都可以直接改
ALTER TABLE <table_name> RENAME COLUMN <old_name> TO <new_name>;
b. 修改字段类型或长度
1) 表中无数据,都可修改
- 一列
ALTER TABLE <table_name> MODIFY (<column_name> <column_type>);
- 多列
ALTER TABLE <table_name> MODIFY (<col_name1> <col_type1>,<col_name2> <col_type2>,… );
2) 表中有数据,则可以扩展长度、缩小字段长度但不能比字段内容短,不能修改字段类型。
Ⅱ. 修改字段类型
①先改名,将字段改名作备份。
ALTER TABLE <table_name> RENAME COLUMN <col_name> TO <col_name_bak>;
②新建字段
ALTER TABLE <table_name> ADD <col_name> <new_type>;
③更新字段,从旧字段中更新内容:
UPDATE <table_name> SET <col_name>=<col_name_bak>;
④删除备份字段
ALTER TABLE <table_name> DROP COLUMN <col_name_bak>;