2操作数据库表下(oracle数据库)

注意:

                1、可以一次添加多个约束,如下:

create table student(
       age number(3)
)

alter table student
add constraint student_age_0_to_150 check (age>=0 and age<=150)--等效于如下SQL

alter table student
add constraint student_age_from_0 check (age>=0)
add constraint student_age_to_150 check (age<=150)

 2、不能通过添加约束为某个字段添加not null约束,只能通过修改字段为其指定not null,如下:

alter table user_info
add password varchar2(2) not null--不能通过添加约束为password添加not null约束
alter table user_info
modify (NAME not null)--通过修改字段为name字段指定not null

b、删除约束:

        alter table student 
	drop constraint student_sex_type;--依据约束名删除约束
	alter table student
	drop primary key--依据约束类型删除约束
	alter table student
	drop unique(id) --依据约束类型删除约束

注意:drop子句后面可以使用cascade,意为删除约束的同时与其相依赖的约束也一同删除,例如:

create table class_info(
	id char(36) unique
)
create table student(
	id char(36) primary key,
	name varchar2(8) not null,
	class_id char(36),
	constraint student_class_id_fk foreign key(class_id) references class_info(id)
)
alter table class_info
drop unique(id) cascade--不仅会删除class_info表唯一键约束,还会将与之相依赖的student表外键约束一并删掉。注意:如果没有cascade,则会报如下错误信息:

c、启用或禁用约束:

   禁用约束:

                alter table student

        disable constraint student_sex_type;--禁用约束

         注意:disable子句后面可以使用cascade,意为禁用约束的同时与其相依赖的约束也一同禁用,例如:

create table class_info(
	id char(36) primary key
)
create table student(
	id char(36) primary key,
	name varchar2(8) not null,
	class_id char(36),
	constraint student_class_id_fk foreign key(class_id) references class_info(id)
)
alter table class_info
disable primary key cascade--不仅会禁用class_info表主键约束,还会将与之相依赖的student表外键约束一并禁用掉。注意:如果没有cascade,则会报如下错误

启用约束:

alter table student
	    enable constraint student_sex_type;--启用约束,注意:enable后面不能使用cascade关键字

注意:约束无法修改,只能通过先删除再创建的方式间接修改字段约束。

三、表重命名

       rename 旧名字 to 新名字

四、截断表

       truncate table 表名——不用执行commit就可以将表数据删除

   delete from 表名——必须执行commit才可以将表数据删除

    delete、drop、truncate的区别

五、删除表

     drop table 表名

六、注释

       表注释

              comment on table 表名 is '注释内容';

       字段注释

              comment on column 表名.字段名 is '注释内容';

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值