管理表

本文详细介绍了如何在Oracle数据库中管理表和约束,包括表的创建、修改、删除,以及如何添加、修改和删除各种类型的约束,如主键、外键、唯一值等。

一、官档

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

二、修改表属性

  1. 给表增加注释
    COMMENT ON TABLE table_name
    IS '<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怎么处理那些参照这些即将要删除数据的数据的,你可以有三种方式:
  • 禁止删除。这也是oracle默认的
  • 将那些参照本值的数据的对应列赋空,这个需要使用on delete set null关键字
  • 将那些参照本值的数据一并删除,这个需要使用on delete cascade关键字
修改约束名
 alter table <表名> 
rename constraint <constraint_old_name> to <constraint_new_name>;
删除约束
 ALTER TABLE <表名> DROP CONSTRAINT <约束名>;
禁用外键约束
 ALTER TABLE <表名>
DISABLE CONSTRAINT <约束名>;
启用外键约束
 ALTER TABLE <表名>
ENABLE CONSTRAINT <约束名>;
删除级联约束
ALTER TABLE <表名>
 DROP (pk,fk,col1) CASCADE CONSTRAINTS;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值