一. Oracle的基本数据类型(常用)
1 ) . 字符型
1. Char 固定长度字符型 占2000个字节2. Varchar2 可变长度字符串 占4000个字节
3. Nvarchar2 占2000个字节(最多能存2000个字母/中文)
2 ) . 大对象型
1. Blob : 进制数据 最大长度4G Blob 用于存一些图片,视频,文件
比如 : 当我们进行文件上传时,我们一般把上传的文件存在硬盘上,可以不占用数据库,下载时,如果项目迁移时,文件也要跟着迁移.
因此我们可以把用blob把它存在数据库中,但这样也增加了数据库的负担!2. Clob : 字符数据 最大长度 4G 可以存大字符串
比较 : varchar2和nvarchar2都具有一定的局限性,他们长度有限,但数据库中无论用varchar2或nvarchar2类型,还是用clob,在java端都使用String接收
3 ) . 数值型
1. Interger 整数类型 ,小的整数2. Float 浮点数类型
3. Real 实数类型
4. Number(p,s) 包含小数位的数值类型.p表示精度,s表示小数后的位数
例子 : number(10,2) 表示小数点之前可有8位数字,小数点后有两位
4 ) . 日期类型
1. Date : 日期(日-月-年) DD-MM-YY(HH-MI-SS)2. Timestamp : 与date相比,他可以精确到微秒.精确范围0~9默认为6
二. id,rowid,ruwnum的区别
1 ) . id 是逻辑上的唯一标识
2 ) . rowid 是物理位置的唯一标识
3 ) . ruwnum 用于标记结果集中结果顺序的一个字段
特点 : 按顺序标记,而且是连续的
例子 : 也就是只有rownum=1的记录才会有rownum=2的记录
注意 : rownum关键字只能和<或者<==直接关联,如果是>或者=则需要给他起别名
4 ) . id与rowid比较:
rowid查找速度要快于id,是目前最快的定位一条记录的方式
5 ) . rowid和rownum相同点 : 都是伪数列
所谓伪数列也就是默认隐藏的一个数列
三. 主键和唯一索引的区别?
1 ) . 在创建主键的同时会生成对应的唯一索引
2 ) . 主键在保证数据唯一性的同时不允许为空,而唯一可以有一个为空数据项
3 ) . 一个表中只能有一个主键,但是一个主键可以有多个字段,一个表中可以有多个唯一索引