Oracle课堂笔记FOUR

约束:保证数据库有某些特定的商业逻辑,维护数据的完整性:约束、触发器、应用程序(过程、函数)

Oracle中,约束分为5种

1、非空约束:如果给某个字段定义了not null,name在插入数据的时候,就必须为给字段提供数据。

--创建表的时候添加非空约束

create table user_table(

username varchar2(20) not null,

password varchar2(20)

);

--修改表的时候添加非空约束

alter table table_name modify 字段名 字段类型 not null;

--删除非空约束

alter table table_name modify 字段名 字段类型 null;

主键约束(primary key):主键是定位表中单个行的方式,可以唯一标识表中的数据,关系型数据库每一张表都应该有主键,主键可以是一个字段也可以是多个字段

1、主键列必须非空且唯一

2、每张表只能有一个主键,不过这个主键可以由多个字段共同组成(联合主键)

--在创建表的时候添加主键约束

--列级约束

create table student_table(

student_id number(10) primary key,

student_name varchar2(20)

);

表级约束

create table student_table(

student_id number(10),

student_name varchar2(20),

constraint pk_student_id primarykey(student_id) 

);

user_constraints 

sql developer

--修改表的时候添加主键约束

alter table table_name add constraint 约束的名字 primary key(.....);

--删除主键约束

alter table tablename drop constraint 约束的名字 alter table tablename drop primary key;

alter table tablename disable|enable constraint 约束的名字;

外键(foreign key):

用于联系主表和从表之间的关系,外键定义在从表上的,

要求外键数据必须在主表的主键列中存在或者为null;

--在创建表的时候设置外键约束

列级约束:

create tablebriup_dept(  --主表

deptno number(2) primary key,

dname varchar2(20),

loc varchar2(20)

);

create tablebriup_emp(    --从表

ename varchar2(20) constraint 约束的名字 not null,

deptno number(2) references briup_dept(deptno)

);

表级约束:

create tablebriup_emp(    --从表

ename varchar2(20) not null,

deptno number(2),

constraint fk_emp_deptno_dept_deptno foreign key references briup_dept(deptno) [on delete cascade];

);

--删除外键约束

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

4、唯一约束

unique

--创建表的时候添加唯一约束

create table test(

username varchar2(20) unique

);

create table test(

username varchar2(20),

constraint 约束的名字 unique(字段);

);

--在修改的时候

alter table table_name add constraint 约束的名字 unique(.....);

--删除唯一约束

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

5、检查约束

--在创建的时候添加检查约束

create table emp(

sex varchar2(20) default '男' check(sex in ('男' ,'女')), 

sal number(5) check(sal>0)

);

--修改

alter table table_name add constraint 约束的名字 check(条件);

--删除

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 4,868评论 0 0
  • 系统用户: 1.sys system(sys权限最高) 2.sysman(操作企业管理器) 密码是安装的时候输入的...
    3hours阅读 5,573评论 0 0
  • 查询某一个表中的前几条数据 在mysql中:limit 1、查询第1000条到1005条 select * fro...
    姜茶无糖阅读 3,047评论 0 0
  • 上传中,请稍候... 今天,我收到一瓶很漂亮的绿萝。它是楼下花店女孩送我的节日礼物。漂亮极了。 无花绿植是我喜欢的...
    蓝焰行动阅读 3,443评论 10 7
  • 生活节奏,给心里堆积了不少的毒素,今天拿我带大家。心理上排毒,讲到这里,不知道大家有没有收获。所以我就出来再讲一个...
    02013a078b2b阅读 1,526评论 0 4

友情链接更多精彩内容