关于CONSTRAINT

1.可延迟约束

SELECT   * FROM   user_constraints 查询所有约束

alter table child add constraint  fk_child foreign key (parent_name)

references parent (parent_name) deferrable ;

取消延迟:

set constraint fk_child immediate ;

2.检查约束

   alter table temp add constraint ck_temp_age check ((age>0) and (age <= 125))

3.自引用约束

   alter table professors add constraint fk_professors_prof_name foreign key (dept_head)

   references professors (prof_name);--当然prof_name需为primary key;

4.禁用/激活约束(禁用/激活约束会引起删除和重建索引的操作)
alter table employees disable/enable unique email
alter table employees disable/enable constraint emp_ename_pk
alter tabel employees modify constraint emp_pk disable/enable
alter tabel employees modify constraint emp_ename_phone_uk disable/enable

ALTER TABLE employees DROP CONSTRAINT emp_deptno_fk;删除约束

5.级联删除

   alter table students add constraint fk_students_state foreign key (state) references state_lookup(state) on delete cascade ;

6.多列属性约束

   alter table students add constraint uk_students_lic unique (state,license) ;

CONSTRAINT是数据库中用于定义数据完整性规则的一种机制。它可以用来限制表中某个列的取值范围或者定义表之间的关系。常见的约束类型包括主键约束、外键约束、唯一约束和检查约束。 1. 主键约束(PRIMARY KEY):用于唯一标识表中的每一行数据。主键列的值必须唯一且不能为空。在创建表时,可以通过在列定义后面添加PRIMARY KEY关键字来定义主键约束。 2. 外键约束(FOREIGN KEY):用于定义表之间的关系。外键列的值必须在关联表的主键列中存在,或者为空(如果允许)。在创建表时,可以通过在列定义后面添加FOREIGN KEY关键字来定义外键约束。 3. 唯一约束(UNIQUE):用于确保列中的值是唯一的。唯一约束可以应用于一个或多个列。在创建表时,可以通过在列定义后面添加UNIQUE关键字来定义唯一约束。 4. 检查约束(CHECK):用于限制列中的值必须满足指定的条件。检查约束可以应用于一个或多个列。在创建表时,可以通过在列定义后面添加CHECK关键字来定义检查约束。 下面是一个示例,演示了如何在创建表时定义约束: ```sql CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT CHECK (age >= 18), department_id INT, FOREIGN KEY (department_id) REFERENCES departments(id), UNIQUE (name) ); ``` 以上示例中,students表定义了主键约束(id列)、检查约束(age列必须大于等于18)、外键约束(department_id列参考departments表的id列)和唯一约束(name列的值必须唯一)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值