从零开始学Oracle-—约束(三)
2009-04-09 13:11:38 来源:WEB开发网给表添加约束
主键约束 -- 每个表要有主键,唯一的标识一行数据
非空约束
唯一性约束
外键约束
检查约束
查看一个表的约束:
select constraint_name,constraint_type
from user_constraints
where table_name = '表名'
查看约束作用于那个字段:
select * from user_cons_columns
where CONSTRAINT_NAME='约束名;
1.建立表的同时使用约束
create table student( --学生表
xh number(4) primary key, --学号主键
xm varchar2(10) not null, --姓名不能为空
sex char(2) check (sex in ('男','女')), --性别
birthday date unique, --日期
sal number(7,2) check (sal between 500 and 1000),--奖学金 sal >=500 and sal <=1000
classid number(2) references cla(id)
); --必须要先有cla表才对
--一定先建立班级cla表
2.建立约束的同时给约束指定名字,便于删除
create table stu( --学生表
xh number(4) constraint pk_stu primary key, --学号是主键
xm varchar2(20) constraint nn_stu not null, --姓名非空
age number(2) constraint ck_stu check (age between 10 and 90),
birthday date,
shenfenzheng number(18) constraint uq_stu unique, --身份证唯一
classid number(2) constraint fk_stu references cla(id) -- 班级编号外键
--(引用的一定是另外表的主键或唯一性约束的字段)
);
3.建完表后加约束
添加主键约束:alter table student add constraint pk_stu primary key (xh);
添加非空约束:alter table student modify (xm not null);
检查约束:
alter table student add check(sex in ('男','女'));
alter table student add constraint ck_sal check(sal between 500 and 1000));
添加外键约束: alter table student add constraint fk_stu foreign key (classid) references cla(id);
添加唯一约束: alter table student add constraint uq_sfz unique(shenfenzheng);
4.删除约束:
格式:alter table 表名 drop constraint 约束名
alter table student drop constraint fk_stu;
系列文章:
从零开始学Oracle—环境配置(一)
从零开始学Oracle—基本语法解析(二)
从零开始学Oracle—内建函数(四)
从零开始学Oracle—内建对象(五)
从零开始学Oracle—性能对象(六)
从零开始学Oracle—PL/SQL(七)
从零开始学Oracle—异常处理(八)
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接