oracle数据库约束:
定义要输入的这个值是一个什么样的值, 或者是哪个范围内的值
作用: 确保完整性, 确保精确性
1, 非空约束(not null)
记录一条信息的时候如果用户名和密码没有被记录, 那么这条记录是没有实际意义的, 创建表的时候默认是可以为空的;
2, 主键约束(Primary key)
确保表中每一行的数据的唯一性
非空, 唯一
一个表中只能有一个主键, 但是这个主键可以由多个字段(联合主键, 复合主键)来构成
可以在建表的时候写上设置为主键的关键字, primary key或者写个表前约束设置
constraint 主键名称 primary key(字段名1, 字段名2)
3, 外键约束(Foreign key)
唯一一个涉及两个表中的字段约束
插入数据的时候, 从表中的关联关系的字段, 要么是一个主表主键的关联, 要么是一个空值
4, 唯一约束(UNIQUE)
保证字段值的唯一性
与主键的区别: 唯一约束可以为空值, 唯一约束可以有多个
使用语句创建唯一约束只能写多条语句, 类似于insert into
5, 检查约束(Check)
作用: 使表当中的值更具有实际意义
比如定义一个值的范围
checks(sno>0 and sno<1000)
Oracle基础数据类型:
字符型:字符串
char(最大2000), ---char(10)
nchar(最大1000, 支持Unicode) --->固定长度
varchar2(最大4000), --- varchar2(10)
nvarchar2(最大2000, 支持Unicode) ---> 可变长度
数字类型
包括整数和小数
number(总位数, 小数位数);
number(5)
number(5,2)
float()--->存储二进制类型的数据, 1-126位0.30103
日期类型:时间
date:取值范围:公元前4712年1月1号---公元9999年12月31号, 可以直接精确到秒
timestamp(时间戳: 更精确的数据, 可以精确到毫秒)
其它类型:大文本, 文件
blob: 最大4G, 以二进制的形式来存放数据
clob: 最大4G, 以字符串的形式存放--大文本