ITPub博客

首页 > 数据库 > Oracle > 管理表

管理表

原创 Oracle 作者:brj880719 时间:2017-10-24 12:07:35 0 删除 编辑

一、官档

11g:BOOK → Database SQL Language Reference → 12 SQL Statements: ALTER TABLE to ALTER TABLESPACE → ALTER TABLE

二、修改表属性

1、给表增加注释
  1. COMMENT ON TABLE table_name
  2. IS '';
2、修改表名
  1. ALTER TABLE <表名>
  2.   ADD (<字段名> <字段类型>);
  3. RENAME table_name_old TO table_name_new;
3、删除表
  1. DROP TABLE <表名>;

三、修改列属性

1、添加列

  1. ALTER TABLE <表名>
  2.   ADD (<字段名> <字段类型>);

2、修改列名

  1. ALTER TABLE <表名>
  2. RENAME COLUMN <字段名_old> TO <字段名_new>;
3、删除列
  1. ALTER TABLE <表名>
  2.  DROP COLUMN <列名>;

4、给列增加注释

  1. COMMENT ON COLUMN <表名>.<列名> IS '';

5、设置列为不可用

  1. ALTER TABLE <表名>
  2.   SET UNUSED(<列名>);

6、修改列类型

  1. ALTER TABLE <表名>
  2. MODIFY (<列名> <字段类型>);

四、修改约束

1、设置列不为空

  1. ALTER TABLE <表名>
  2. MODIFY <字段名> NOT NULL;

2、添加唯一值约束

  1. ALTER TABLE <表名>
  2.   ADD CONSTRAINT UK_<字段名> UNIQUE(<字段名>);

3、添加主键约束

  1. ALTER TABLE <表名>
  2. MODIFY <字段名> Primary Key;

4、删除列主键约束

  1. ALTER TABLE <表名>
  2.  DROP PRIMARY KEY;
5、添加检查约束
  1. ALTER TABLE <表名>
  2.   ADD CONSTRAINT CK_<字段名> CHECK(<限定内容>);
6、添加外键约束
  1. ALTER TABLE <表名>
  2.   ADD CONSTRAINT FK_<表名缩写>_<字段名> FOREIGN KEY(<列名7>) REFERENCES <从表名>(<从表主键>)
  3.   [on delete cascade/on delete set null];

如果你需要删除的数据被其他数据所参照,那么你应该决定到底希望oracle怎么处理那些参照这些即将要删除数据的数据的,你可以有三种方式:

 a) 禁止删除。这也是oracle默认的

 b) 将那些参照本值的数据的对应列赋空,这个需要使用on delete set null关键字

 c) 将那些参照本值的数据一并删除,这个需要使用on delete cascade关键字

7、修改约束名

  1.  alter table <表名>
  2. rename constraint <constraint_old_name> to <constraint_new_name>;

8、删除约束

  1. ALTER TABLE <表名> DROP CONSTRAINT <约束名>;

9、禁用外键约束

  1. ALTER TABLE <表名>
  2. DISABLE CONSTRAINT <约束名>;

10、启用外键约束

  1. ALTER TABLE <表名>
  2. ENABLE CONSTRAINT <约束名>;

11、删除级联约束

  1. ALTER TABLE <表名>
  2.  DROP (pk,fk,col1) CASCADE CONSTRAINTS;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24851054/viewspace-2146301/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 创建表
下一篇: Python学习手册
请登录后发表评论 登录
全部评论

注册时间:2014-12-06

  • 博文量
    75
  • 访问量
    67561