Oracle常用数据类型简介
Oracle中提供一系列类型,每个类型的特点如下:
char:存储固定长度的字符,如果字符长度不够会在右边补空格。比如:name char(10),当给name赋值为'zhangsan'时会在右边补充2个空格。char类型的容量为1~2000B,没有指定则默认长度为1。
varchar2:存储长度可变的字符,和char类型的不同,它不会自动补充空格,且定义时必须指定长度。存储容量为1~4000B。
Nchar/Nvarchar:和Char/Varchar类型类似,不过用于存储多字节字符,即UNICODE字符数据。
Date类型:用于存储公元前4712-1-1至公元4712-12-31,存储长度为7B,日期格式由nls_date_format参数指定,如dd-MM-YY
Long:和varchar类似用于存储可变字符数据,但容量最大到2GB,该类型目的是为了保持向后兼容。后续版本的数据库建议采用LOB类型,不再推荐使用Long类型。
RAW:用于存储原始的二进制数据,最大长度为2000B,目的也是为了向后兼容,后续版本建议采用LOB类型。
Number:存储最大精度38位10进制数。
Real:最大精度63位二进制,近似18位十进制。
Double precision/Float:最大精度都是126位二进制,近似38位十进制。
Int、integer、smallint:最大精度都是近似38位十进制
Real、int、integer、smallint、float、double precision都是number类型的子类型。
Clob:存储可变长度的单字节数据,长度可达4GB。
Nclob:存储可变长度的unicode字符数据,长度达到到4GB 。
Blob:存储变长度的二进制字符数据,长度可以达到4GB。
Bfile:存储指向外部文件的指针。
相关文档:
经常有DBA朋友们向我咨询,如果打算进入DBA这一行,应该怎样入门,或者可以通过怎样一个路线图来进行学习。
关于这个主题,其实网络上已经有了一些内容可以参考。但是既然这么多朋友问题,我就将之前写好的一点内容发表出来。
算是对大家的一个回答,如果能够有所借鉴那是最好的。
我的这份路线图,是按照我写作的两本书 ......
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有 ......
索引
索引的目的是提高存储数据页面的速度
服务器扫描索引以获得数据存储单元的地址
索引的优点为:提高查询的执行速度、实施数据的唯一性、加速了表之间的连接
索引的缺点为:创建索引需要花费较多的时间、每个创建的索引连同原先的数据源都需要空间来存储数据、每次修改数据时索引都要更新
......
函数:
字符函数
转化成小写LOWER(<C>) 转化成大写UPPER(<C>) select lower('aAbBcC') from dual;
--------
日期函数
add_months(D,<I>)返回日期D加上i个月后的结果
select add_month(sysdate,3)from dual;
&nb ......
子查询
单行子查询(single-row subqueries)
使用的运算符号(=,>,<,>=,<=,<>)
多行子查询(multiple-row subqueries)
使用的运算符号(in,not in,exists,not exits,all,any)
相关子查询(correlated subqueries)
&nb ......