管理表

来源:互联网 发布:c语言输出txt文件内容 编辑:程序博客网 时间:2024/05/22 03:20

一、官档

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

二、修改表属性

1、给表增加注释

COMMENT ON TABLE table_nameIS '<comment_text>';

2、修改表名

ALTER TABLE <表名>  ADD (<字段名> <字段类型>);RENAME table_name_old TO table_name_new;
3、删除表

DROP TABLE <表名>;

三、修改列属性

1、添加列

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

2、修改列名

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

ALTER TABLE <表名> DROP COLUMN <列名>;

4、给列增加注释

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

5、设置列为不可用

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

6、修改列类型

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

四、修改约束

1、设置列不为空

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

2、添加唯一值约束

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

3、添加主键约束

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

4、删除列主键约束

ALTER TABLE <表名> DROP PRIMARY KEY;

5、添加检查约束

ALTER TABLE <表名>  ADD CONSTRAINT CK_<字段名> CHECK(<限定内容>);

6、添加外键约束

ALTER TABLE <表名>  ADD CONSTRAINT FK_<表名缩写>_<字段名> FOREIGN KEY(<列名7>) REFERENCES <从表名>(<从表主键>)  [on delete cascade/on delete set null];

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

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

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

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

7、修改约束名

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

8、删除约束

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

9、禁用外键约束

 ALTER TABLE <表名>DISABLE CONSTRAINT <约束名>;

10、启用外键约束

 ALTER TABLE <表名>ENABLE CONSTRAINT <约束名>;

11、删除级联约束

ALTER TABLE <表名> DROP (pk,fk,col1) CASCADE CONSTRAINTS;
原创粉丝点击