Oracle数据库开发SQL基础之约束
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle数据库开发SQL基础之约束,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3815字,纯文字阅读大概需要6分钟。
内容图文
一、非空约束
1.在创建表时设置非空约束
CREATE TABLE userinfo_1
(id number(6,0),
username varchar2(20) not null,
userpwd varchar2(20) not null
)
2.在修改表时设置非空约束
DELETE FROM userinfo
ALTER TABLE userinfo
MODIFY username varchar2(20)not null
3.去除非空约束
ALTER TABLE userinfo
MODIFY username varchar2(20) null
二、主键约束:确保表当中每一行数据的唯一性(一张表只能有一个主键约束)
1.在创建表时设置主键约束
CREATE TABLE userinfo_2
(id number(6,0) PRIMARY KEY,
username varchar2(20),
userpwd varchar2(20)
)
CREATE TABLE userinfo_2s
(
id number(6,0),
username varchar2(20),
userpwd varchar2(20),
CONSTRAINT pk_id_username PRIMARY KEY(id,username))
2.在修改表时添加主键
ALTER TABLE userinfo
ADD CONSTRAINT pk_id PRIMARY KEY(id)
更改约束的名字
ALTER TABLE userinfo
RENAME CONSTRAINT pk_id to new_pk_id
3.删除主键约束
禁用约束
ALTER TABLE userinfo
DISABLE constraint new_pk_id
删除约束(DROP PRIMARY KEY)
ALTER TABLE userinfo
DROP CONSTRAINT new_pk_id
ALTER TABLE userinfo_2
DROP PRIMARY KEY
三、外键约束
1.在创建表的时候设置外键约束
创建主表
CREATE TABLE typeinfo
(
type varchar2(10) primary key,
typename varchar2(20)
)
创建从表并添加外键约束(列级)
CREATE TABLE userinfo_f
(
id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10) references typeinfo(type)
)
向主表中输入一个值
insert into typeinfo values(1,1)
向从表中输入一个值(向外键约束输入的值要么是主表中的值,要么是空值)
insert into userinfo_f(id,typeid_new) values(1,1)
insert into userinfo_f(id,typeid_new) values(1,null)
表级
CREATE TABLE userinfo_f2
(
id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10),
CONSTRAINT fk_typeid_new foreign key (typeid_new) references typeinfo(type) on delete cascade 并设置级联
)
2.在修改表的时候添加外键约束
CREATE TABLE userinfo_f4
(id varchar2(10)primary key,
username varchar2(20),
typeid_new varchar2(10)
)
ALTER TABLE userinfo_f4
ADD CONSTRAINT fk_typeid_alter foreign key (typeid_new) references typeinfo (type)
3.删除外键约束
禁用
ALTER TABLE userinfo_f4
DISABLE CONSTRAINT fk_typeid_alter
删除
ALTER TABLE userinfo_f4
DROP CONSTRAINT fk_typeid_alter
四、唯一约束:保证字段值的唯一性
与主键约束的却别 主键字段必须是非空的(一个表只能有一个) 唯一约束允许有一个空集(一个表可以有多个)
1.在创建表时设置唯一约束
列级添加 unique
CREATE TABLE userinfo_u
(
id varchar2(10),
username varchar2(20) unique,
userpwd varchar2(20)
)
表级设置唯一约束 CONSTRAINT约束的名字 unique
CREATE TABLE userinfo_u1
(
id varchar2(20) primary key,
username varchar2(20),
CONSTRAINT un_username unique (username)
)
2.修改表时添加唯一约束
CREATE TABLE userinfo_u2
(
id varchar2(20) primary key,
username varchar2(20)
)
ALTER TABLE userinfo_u2
ADD CONSTRAINT un_username_new unique(username)
3.删除约束
禁用唯一约束
ALTER TABLE userinfo_u2
DISABLE CONSTRAINT un_username_new
删除
ALTER TABLE userinfo_u2
DROP CONSTRAINT un_username_new
五、检查约束
1.在创建表时设置检查约束
列级CHECK(约束条件)
CREATE TABLE userinfo_c
(
id varchar2(10)primary key,
username varchar2(20),
salary number(5,0) check(salary>0)
)
在表级设置检查约束
CREATE TABLE userinfo_d
(
id varchar2(10)primary key,
username varchar2(20),
salary number(5,0),
CONSTRAINT ck_salary check (salary>0)
)
2.在修改表时添加检查约束
CREATE TABLE userinfo_d1
(
id varchar2(10)primary key,
username varchar2(20),
salary number(5,0)
)
ALTER TABLE userinfo_d1
ADD CONSTRAINT ck_salary_new check (salary>0)
3.删除检查约束
禁用 disable
alter table userinfo_d1
disable constraint ck_salary_new
删除drop
alter table userinfo_d1
drop constraint ck_salary_new
Oracle数据库开发SQL基础之约束
标签:非空约束 for har reference 创建表 输入 arc number 创建
本文系统来源:http://www.cnblogs.com/smartmaker/p/6686080.html
内容总结
以上是互联网集市为您收集整理的Oracle数据库开发SQL基础之约束全部内容,希望文章能够帮你解决Oracle数据库开发SQL基础之约束所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。