Oracle 约束 (非空约束、默认值约束、唯一约束 & 主键约束的添加/联合和注意事项)
2020-01-12 23:12
1851 查看
约束
文章目录
1.非空约束(not null)
非空约束 限定某个字段不能为null
create table testNull( id number(3), name varchar2(20) not null );
2.默认值的约束(default)
如果字段没有给值给默认值
default + "默认值"
create table testDefaul( id number(10) not null, name varchar2(20) default '老宋', age number(2) default 18 );
3.唯一约束(unique)
保证某个字段的具体值是唯一的
create table testUnique( id number(5) unique, name varchar2(20) );
3.1注意事项
- 唯一性可以为
null
,2个都为null
不算违背了唯一性原则一般使用unique
要加not null
约束 - 一个字段可以添加多个约束
unique not null
4.主键约束(primary key)
主键类型 unique + not null
语法: 字段primary key;
create table testPrimary( id number(3) primary key, name varchar2(20) );
4.1添加主键
- 代码设置
alter table 表名 add constraint 标识符 primary key(字段名称);
- 使用视图工具
4.2联合主键
多个字段联合其来成为主键
4.3注意事项
- 主键唯一性,一张表只能有一个主键
- 一张表可以有多个
unique not null
5.外键约束
外键: 把2张表进行关联 , 从表中重复出现,在主表中作为主键存在
--主表: 一方 create table t_class( cid number(3) primary key, cname varchar2(20) ); --从表: 多方 create table t_stu( tid number(3) primary key, sname varchar2(20), -- 添加 主表的pk 字段 cid number(3), -- 设置 外键 (从表和 主表进行关联) constraint fk_stu_class foreign key (cid) references t_class(cid) ); fk_stu_class --外键的标识符 外键取名 foreign key --定义外键 references --关联那个表的那个字段 --创建表以后 如果设置外键(命令) -- 创建表完成后添加外键 alter table t_stu add constraint fk_stu_class foreign key(classId) references t_class(cid);
5.1注意事项:
-
外键可以在从表中重复出现 ,他在主表中是主键
-
一张表可以有多个外键
-
外键可以为
null
-
外键的作用是关联多表,可以建立表之间的关系 (一对一 一对多 多对多)
-
删除主表时候如果从表有使用主表的数据是不能删除的,从表的数据可以直接删除
-
2表关联了先删除从表再删除主表
-
外键是多表查询时必要条件
-
开发过程中建议是逻辑外键 (有逻辑关系不用设置外键关联)
6.check 约束 (了解)
check: 保证我们的字段按照一定的格式在指定的范围内存储
create table t_person( sname varchar2(20), sage number(3) check(sage > 20) --规定age > 20 sage number(3) check(sage between 20 and 30) --规定age 在 20 - 30 之间 sage number(3) check(sage in(18,19,20)) --规定age 必须在 18,19,20 );
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- mysql 创建分区表注意事项,每一个唯一约束必须包含在Mysql分区表的分区键(也包括主键约束)。
- Mysql Workbench 无法添加联合唯一约束
- 添加以联合主键之一作为外键的约束时,出错:此列列表的唯一关键字或主键不匹配
- oracle 添加删除非空约束
- 非空约束和主键约束(oracle)
- oracle数据 在已有的重复的数据上加联合唯一约束
- MySQL中添加唯一约束和联合唯一约束
- mysql 给表添加唯一约束、联合唯一约束,指定唯一约束的名字
- oracle约束:主键约束,外键约束以及非空约束和唯一约束以及check约束
- MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束、添加外键约束
- ORACLE约束:主键,外键,非空,唯一,条件
- MySQL中添加唯一约束和联合唯一约束
- SQL Server中,给字段设置约束,设置默认值注意事项
- powerdesigner 为字段添加注释和最大、最小、默认值、非空约束
- mysql 给表添加唯一约束、联合唯一约束,指定唯一约束的名字
- MySQL中添加唯一约束和联合唯一约束
- 关于asp.net页面添加非空校验控件注意事项
- MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束
- Oracle添加/删除唯一约束
- oracle 中 MERGE INTO 使用时注意唯一约束冲突