首页 > 学院 > 开发设计 > 正文

Oracle约束(上)

2019-11-09 13:34:02
字体:
来源:转载
供稿:网友

非空约束

创建表时设置非空约束

create table userinfo_1(id number(6,0),username varchar2(20) not null,userpwd varchar2(20) not null);

向表中插入非空约束(设置之前表中最好没有数据)

alter table userinfomodify username varchar2(20) not null;

去除表中非空约束

alter table userinfomodify username varchar2(20) null;

主键约束(在主键加上非空约束)

创建表时设置主键约束

create table userinfo_p(id number(6,0) PRimary key(设置主键),username varchar2(20),userpwd varchar2(20));

在创建表时对两个字段id,username共同设置主键约束

eate table userin_p1(id number(6,0),username varchar2(20),userpwd varchar2(20),constraint pk_id_username primary key(id,username));

查询主键 主键约束名

desc user_constraints

OK

select constraint_name from user_constraints where table_name='USERINFOP1';

在修改表时添加主键约束

alter table userinfoadd constraint pk_id primary key(id);

更改约束名称

alter table userinforename constraint pk_id(旧名字) to new_pk_id(新名字);

禁用主键约束

alter table userinfodisable constraint new_pk_id;

删除主键约束(已知约束名字)

alter table userinfodrop constrain new_pk_id;

或直接删除主键约束

alter table userinfodrop primary key;

查看约束名字和状态

select constraint_name,status from user_constraints where table_name='USERINFO';

添加外键约束

在创建表时设置外键约束(两个表的字段之间的约束)

在列级设置外键约束

create table typeinfo(主表)(typeid varchar2(10) primary key,typename varchar2(20));create table userinfo_f(从表)(id varchar2(10 primary key,username varchar2(20),typeid_new varchar2(10) (对主表的typeid设置外键约束)references typeinfo(typeid));

向从表中的typeid_new输入值: 主表中插入值

insert into typeinfo values(1,1);

从表中插入值(插入的值必须是主表中的值或空值)

insert into userinfo_f(id,typeid_new)values(1,1);

在表级设置外键约束

create table userinfo_f2(id varchar2(10) primary key,username varchar2(20),typeid _new varchar2(10),constaint fk_typeid_new foreign key(typeid_new)references typeinfo(typeid));
上一篇:JDBC批处理

下一篇:查询某一时间段结果

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表