oracle中的约束操作

在数据库中的五中约束
1、primary key:主键约束
2、foreign key:外键约束
3、check :自定义的检查约束
4、not null:不为空的约束
5、unique: 唯一约束


创建一个没有外键关联的表
create table lyd(
id number(10) constraint id primary key,
name char(12) not null,
age number(3) check(age>0 and age<150)
);




select * from lyd;


在表里面插入字段
insert into lyd values(201701,'java',18);
insert into lyd values(201702,'pyhon',18);
insert into lyd values(201703,'c#',18);
commit;


列级约束:在列声明的后面设置约束
五种约束条件都可以在列级定义


表级约束除了not null,其它都可以


select * from emp;
create table 表名(列,列,、)


create table yd(
id number(10) constraint empno primary key,
name char(10) not null,
age  number(3) check(age>0 and age<150),


tid number(8),
constraint emp_fk
foreign key(tid)
references emp(id)
)


select * from yd;


constraint:约束名,约束条件,可有可无
create table ydd(
lid number(10) constraint hhh primary key,
name char(10) not null,
age  number(3) check(age>0 and age<150),


tid number(8),
constraint lyd_fk
foreign key(tid)
references lyd(id)
)


select * from ydd
建立的关键之后,一张表的外键,作为另一张表的主键,必须在在外键中包含另一张表主键的字段;
insert into ydd values(1200,'java',18,201701);
insert into ydd values(1201,'haha',18,201702);
insert into ydd values(1202,'guagau',18,201703);
commit;




更新
update 表名 set 列=value,...[where]


update ydd set lid=1200,name='php',age=18,tid=201701 where lid=1200;


dml:数据操作语句


update ydd set name='kkk' where lid=1200;
commit;


alter:修改


添加列
alter table 
表名 add 列 数据类型(size)


此处最好不要加not null约束条件
alter table 
ydd add sex char(6)
check(sex='男' and sex='女');


默认的使用
alter table 
ydd add address varchar2(40)
default '**省**市**大道';


删除表
alter table 表名 drop column 列名


alter table ydd drop column sex;


修改列
alter table 表名 modify 列 数据类型()
alter table ydd modify name varchar(12);


select length(name) from ydd
where lid=1200;




修改表名
alter table 表名
rename column 旧列 to 新列


alter table ydd 
rename column lid to id;


清空表


ddl:数据定义语言,不能进行回滚
dml:数据操纵语言,能进行回滚;


drop:清空表,表结构都没有 ddl不能回滚
delete : 清空表,可以删除指定的数据,表结构还在, dml可以回滚;
truncate:清空表,可以删除指定的数据,表的结构还在,ddl不能回滚




添加约束条件
create table tea(id number(12),
name char(16));


alter table tea 
add tid number;


alter table ydd
add yid number;


alter table 表名
add constraint 约束(列)(此时只是一个别名)
约束


添加主键约束
alter table tea
add constraint id_pk
primary key(id);


添加外键约束
在外键约束中,A表的外键作为B表的主键
alter table tea
add constraint t_fk
foreign key(tid)
references ydd(id)


删除约束
alter table 表名
drop constraint 约束名


alter table tea
drop constraint t_fk;




约束失效
alter table 表名
disable constraint 约束名




alter table tea
disable constraint id_pk


约束生效
alter table tea
enable constraint 约束名


alter table tea
enable constraint id_pk
 


删除表
drop table 表名
清空表
truncate table 表名


速度上面的比较
drop > truncate>delete














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值