oracle列(字段)操作相关SQL语句

前端之家收集整理的这篇文章主要介绍了oracle列(字段)操作相关SQL语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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@

猜你在找的Oracle相关文章