oracle数据类型及应用场景

oracle常用的数据类型:

一:数字类型
number(m,n):
1.m用来表示有几位有效数字最大是38位
2.n表示小数点以后可以有几位,多出来的位数要四舍五入

二:字符类型
char:
1.存储固定长度的字符串,一个空间占用1个字节,最多存储2000个字节
2.在存数据的时候,给的数据占不满给定的空间也会自动用空格补满空间,如果长度超出了就会报错

varchar2:
1.存储可变长度的字符串,最大长度是char的两倍,4000个字节
2.在存数据的时候,给的数据占不满给定的空间会自动截断,长度超出了会补长,不会报错
3.可以存储null值,提供了向后兼容的能力

nchar:
1.存储固定长度的字符串,一个空间占用2个字节,最多存储2000个字节
2.在nchar中存储字符,数字和文字都是占用两个字节

nvarchar2:
1.存储可变长度的字符串,一个空间占用2个字节,最大长度是NCHAR的两倍,4000个字节

三:日期类型
1.date:存储日期和时间类型,默认格式为:DD-MM-YYYY。
2.timestamp:时间戳类型,timestamp类型具有小数位毫秒数,比DATE的精度更高

四:大数据类型与二进制类型

long:
1.存储可变长度的超长字符串,最大长度为2G
2.存储备注字段,或者varchar2和nvarchar2不够存储时

lob:
分为三个:
clob:字符型大型对象,最大长度为4G,存储与字符集相关
nclob:根据字符集而定的字符数据,最大长度为4G
blog:二进制大型对象,最大长度为4G,适用于存储非文本的字节流数据,视频、音频

raw:固定长度的二进制数据,最大长度 2000个字节,可存储多媒体视频、音频格式等

long raw:可变长度的二进制数据,最大长度2G

bfile:存储在数据库之外的二进制数据,最大长度4G

rowid:
1.行地址,十六进制串,表示行在所在的表中唯一的行地址
2.该数据类型主要用于返回ROWID伪列,可以将表中的每一条记录都加以唯一标识,占10个字节

nrowid:二进制数据表中记录的唯一行号,最大长度4000个字节

oracle可以自增吗?
Oracle没有”auto_increment”属性,没法在表内定义自增主键
Oracle里的序列(SEQUENCE),可间接实现自增主键的作用

为什么不全部使用varchar2?
1.假如VARCHAR2列经常被修改,而且每次被修改的数据长度不同,会引起‘行迁移’现象,这会造成多余的I/O
2.char类型是全字符匹配,varchar2是一个字符一个字符的匹配
3.char的效率要比varchar2高一些,牺牲了一些空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值