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