Oracle-约束小结

简介: Oracle-约束小结
--not null只能作用于列级;
--unique可作用于列级和表级;
--primary key 可作用于列级和表级,相当于同时声明了not null 和unique;
--foreign key 可作用于列级和表级,一般作用于表级
--check() 可作用于列级和表级
--创建表的时候创建约束,两种不同的形式(自定义名和系统默认)
/*create table emp2(
id number(10) constraint emp2_id_nn not null,
name varchar2(20) not null,
salary number(10,2)
)*/
--同时为一列创建非空约束和唯一约束
/*create table emp4(
--列级约束
id number(10) constraint emp4_id_nn not null ,
name varchar2(20) constraint emp4_name_nn not null,
email varchar2(20),
salary number(10,2),
--表级约束
constraint emp4_id_uk unique(id),
constraint emp4_email_uk unique(email)
)*/
--constraint primary key
/*create table emp4(
--定义在列级
id number(10) constraint emp4_id_pk primary key,
name varchar2(20) not null,
salary number(10,2),
email varchar2(20),
constraint emp4_email_uk unique(email)
--定义在表级
--constraint emp4_id_pk primary key(id)
)*/
--定义外键约束
/*create table emp5(
id number(10) constraint emp5_id_pk primary key,
name varchar2(20) not null,
salary number(10,2),
email varchar2(20),
department_id number(20),
constraint emp5_email_uk unique(email),
--定义在表级
constraint emp5_dept_id_fk foreign key(department_id) references departments(department_id) on delete set null
)/*departments 为父表,emp5为子表*/
/*on delete cascade 级联删除,当父表中的列被删除时,子表中相对应的列也被删除*/
/*on delete set null 级联置空 ,。。。子表中相应的列置空*/
-- check约束
create table emp7(
id number(10) constraint emp7_id_pk primary key,
name varchar2(20) constraint emp7_name_nn not null,
salary number(10,2) constraint emp7_salary_ck check(salary>1500),
email varchar2(20),
constraint emp7_email_uk unique(email),
--定义在表级,不用再在后面额外追加列名,已经写在了check(里面)
--constraint emp7_salary_ck check(salary>1500)
)
--添加修改删除约束
alter table emp5
--add
add constraint emp5_name_uk unique
--modify
modify (salary number(10,2) not null)
--drop
drop constraint SYS_C005484
--disable
disable constraint emp5_name_uk
--enable
enable constraint emp5_name_uk
--查询约束
select constraint_name,constraint_type,search_condition,column_name
from user_constraints where table_name = 'employees'
目录
相关文章
|
27天前
|
存储 SQL Oracle
[Oracle]面试官:你简单说说常用的4种约束
本文介绍了数据库表中的几种常见约束,包括主键、唯一键、外键、检查和非空约束。详细说明了每种约束的创建、删除及启用/禁用方法,特别强调了外键约束的级联操作和检查约束的正则表达式应用。建议多练习手写SQL命令以加深理解。
33 2
|
4月前
|
Oracle 关系型数据库
Oracle 删除唯一约束
Oracle 删除唯一约束
54 0
|
7月前
|
SQL Oracle 关系型数据库
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
75 1
|
SQL 缓存 Oracle
Oracle 数据库表和约束条件的增删改查
Oracle 数据库表和约束条件的增删改查
136 0
|
Oracle 关系型数据库 Java
hibernate操作Oracle出现违反唯一约束条件
出现这个问题的原因无非是主键冲突,我这里引起主键冲突的原因是实体类使用的ID策略为
|
Oracle 关系型数据库 数据库
Oracle 数据库表和约束条件的增删改查
Oracle 数据库表和约束条件的增删改查
174 0
|
SQL 存储 Oracle
Oracle的视图,索引,约束,事务,数据库范式
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
109 0
Oracle的视图,索引,约束,事务,数据库范式
|
Oracle 关系型数据库 数据处理
oracle学习67-oracle之数据处理之约束1
oracle学习67-oracle之数据处理之约束1
89 0
oracle学习67-oracle之数据处理之约束1
|
Oracle 关系型数据库 数据库
Oracle用户操作、数据类型、表格修改、约束设置详解
Oracle用户操作、数据类型、表格修改、约束设置相关操作以及使用案例
|
Oracle 关系型数据库
oracle添加唯一约束
oracle添加唯一约束