Oracle的表约束

本文介绍了数据库中常见的五种约束类型:not null、unique、primary key、foreign key 和 check,并详细解释了如何在创建表时或之后添加这些约束。此外,还探讨了如何通过数据字典视图来查询这些约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

约束是操作表数据的强制规定

有五种约束:not null,unique,primary key,foreign key,check。

在什么时候创建约束:建表的同时,建表之后

可以在表级和列极定义约束

可以通过数据字典视图查看约束


举例:create table employee(

employee_id number(6),

first_name varchar2(20),

...

email varchar2(25),

salary number(8,2),

job_id varchar2(10) not null,

hire_date date not null,

constraint emp_emp_id_pk primary key(employee_id));

constraint emp_email_uk unique(email));


添加约束的语法:

使用alter table语句:

添加或删除约束,但是不能修改约束

有效化或无效化约束

添加not null约束要使用modify

alter table employee add constraint emp_manager_fk foreign key(manager_id) references employee(employee_id);


删除约束

alter table employee drop constraint emp_manager_fk;

alter table department drop primary key cascade;


无效化约束



静态数据字典:

User_*:当前用户拥有的对象信息;

All_*:当前用户能访问的对象信息;

Dba_*:数据库中所有的对象信息;


常用的静态数据字典

*_users,*_tables,*_objects。

例: select * from user_user --当前用户信息

select * from user_tables --当前用户表信息

select * from user_objects --当前用户的对象信息


常用的动态数据字典

数据库运行,不断更新,提供关于内存,磁盘运行的情况,只能读取不能修改。
以V$开头
V$session:当前会话信息。
V$sql:当前查询过的sql语句,访问过的资源与对象。
V$tablespace 表空间信息

常用约束

查询数据字典视图 user_constraints

select constraint_name,constraint_type,serarch_condition from user_constraints where table_name='EMPLOYEES';

查询数据字典视图 user_cons_columns

select constraint_name,column_name from user_cons_columns where table_name='EMPLOYEES';




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值