ORACLE 约束

定义约束

CREATE TABLE [schema.]table_name(

column_name datatype [default expr] [column_constraint],

...

[table_constraint] [,...]

);

  • 列级约束:
    column [CONSTRAINT constraint_name] constraint_type
  • 表级约束:column,...,[CONSTRAINT constrian_name] constraint_type(column,...) column 表示列名。

注意:如果不指定约束名,那么oracle会自动生成格式为SYS_Cnnn的约束名;如果指定约束名,那么必须指定CONSTRAINT选项。

定义Not Null 约束:列级约束

ORACLE 约束 - 小猪 - 小猪_zjy

 定义UNIQUE约束:列级或表级,可以为null

ORACLE 约束 - 小猪 - 小猪_zjy

 定义PRIMARY KEY约束:列、表级

ORACLE 约束 - 小猪 - 小猪_zjy
定义 FOREIGN KEY 约束:要求外部键列的数据必须在主表的主键列(或惟一列)中存在
  1. FOREIGN KEY:用于指定在表级定义外部键约束。在列级定义外部键约束时不需要指定。
  2. REFERENCES:用于指定主表名及其主键列。
  3. ON DELETE CASCADE:如果定义了该选项,当删除主表数据时会级联删除从表的相关数据。
  4. ON DELETE SET NULL:如果定义了该选项,当删除主表数据时会将从表外部数据设置为NULL.
ORACLE 约束 - 小猪 - 小猪_zjy
ORACLE 约束 - 小猪 - 小猪_zjy
 
定义CHECK约束:列表级,充许列为NULL
ORACLE 约束 - 小猪 - 小猪_zjy
  定义复合主键
ORACLE 约束 - 小猪 - 小猪_zjy
维护约束
语法如下:
  • 其它情况:
ALTER TABLE table ADD [CONSTRAINT constraint_name] constratint_type (column,..);
  • 增加not null约束:
ALTER TABLE table MODIFY column [CONSTRAINT constraint_name]  NOT NULL;

ORACLE 约束 - 小猪 - 小猪_zjy
  修改维束名:ALTER TALBE table RENAME CONSTRAINT old_constraint_name to new _constraint_name;    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值