Oracle数据库结构化查询语言和Oracle数据库数据类型

Oracle数据库结构化查询语言和Oracle数据库数据类型

目前主流关系型数据库:

   大型数据库:sybase、Oracle、db2

       中型数据库:mysql、SqlServer、infomix

       小型数据库:Access、VisualFoxpro

Oracle数据库结构化查询语言和数据类型:

一、结构化查询语言(SQL)

  1.SQL(Structured Query Language):结构化查询语言

  2.SQL是在关系型数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据、操纵数据、定义数据、控制数据

  3.所有数据库都使用相同或者相似的语言

  4.SQL 支持下列类别的命令:

-数据定义语言(DDL):Data Definition Language  
用于建立、修改、删除数据库对象 。
包括:CREATE、ALTER、DROP、TRUNCATE
-数据操纵语言(DML):Data Manipulation Language
用于改变数据库表中的数据,和事务相关,执行完后需要经过事物提交,才将改变用用到数据库中。
包括:INSERT、UPDATE、DELETE
-事务控制语言(TCL):Transaction Control Language
用于维护数据一致性的语句
包括:COMMIT、ROLLBACK、SAVEPOINT
-数据控制语言(DCL):Data Control Language
用于执行权限的赋予和收回操作
包括:GRANT、REVOKE、CREATE USER
-数据查询语言(DQL):Data Query Language

用来查询所需要的数据,SELECT 语句

二、Oracle 数据类型

Oracle的数据类型类别:字符型、数据型、日期时间型、二进制型、大对象型

1.字符型

1)CHAR 

-表示固定长度的字符类型

-经常被定义成CHAR[(N)]形式,例CHAR(2),N表示占用的字节数,N最大为2000字节

-定义为CHAR时,默认为1字节

2)VARCHAR2

-表示变长字符类型

-定义格式是VARCHAR2(N),N表示最多可占用的字节数

-N范围1~4000字节

CHAR和VARCHAR可以直接指定为字符,1个字符相当于2个字节

例:CHAR(10 CHAR),20个字节,每个英文字符占用一个字节,每个中文字符按编码不同,占2-4个字节(GBK:2字节,UTF-8:2-4字节)

3)LONG

-表示可变长度字符类型

-定义格式:直接定义LONG,最大存储2GB

注意:每个表只能有一个LONG类型列,不能作为主键,不能建立索引,不能出现在查询条件中,开发中建议用CLOB代替LONG类型

2.数据型

1)NUMBER

-可以存储整数、浮点数和实数

-最高精度 38 位,范围:负的10的38次方到10的38次方。P:[0,138],S:[-84,127]   

-数值数据类型的声明语法:NUMBER [( p[, s])] ,P表示精度,S表示小数点的位数

-可以直接定义NUMBER类型,默认为38位

-定义NUMBER(p),表示整数,p表示数字的总位数[0,38],s默认0

-定义NUMBER(p,s)表示浮点数,指定了s,但没有指定p,则p默认38,如:colum_name number(*,s)

例:定义NUMBER(4,2),最大可插入数据为NUMBER(99.994),数据库中数据为99.99,会把最后一位“4”进行四舍五入,保留两位小数。如果插入数据为NUMBER(25.5667),数据库保存数据为25.57

另:数值类型可以定义为 DECIMAL(p,s)或者DEC(p,s)、INTEGER或者INT、SMALLINT、FLOAT(b)、DOUBLE PRECISION、REAL

3.日期时间型
1)DATE 

-用于定义日期时间的数据,保存至秒

-DATE表示的时间范围:公元前4712年1月1日-公元9999年12月31日

-长度是7个字节

-默认格式是:DD-MON-RR 例如:11-APR-78

例:select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual;  显示:20150525 10:30:57

2)TIMESTAMP

-保存日期时间,最高精度可以到ns(纳秒),秒的小数点后6位

-数据库内部用7或者11个字节存储,精度为0,用7个字节存储,与DATE相同,精度大于0则用11字节存储

例:select to_char(systimestamp,'yyyymmdd hh24:mi:ssxff6') from dual; 显示:20150525 10:32:09.806000

4.二进制型
1)RAW 
-数据类型用于存储二进制数据

-数据类型最多能存储 2000 字节

2)LONG RAW
-LONG RAW 数据类型用于存储可变长度的二进制数据
-LONG RAW 数据类型最多能存储 2 GB

5.大对象

LOB 称为“大对象”数据类型,可以存储多达 128TB 的非结构化信息,例如声音剪辑和视频文件等(LOB类型的容量从原来的4G增加到了最大128T)

LOB 数据类型允许对数据进行高效、随机、分段的访问

1)CLOB

-CLOBCharacter LOB(字符LOB),它能够存储大量字符数据

2)BLOB

-BLOB 即 Binary LOB(二进制 LOB),可以存储较大的二进制对象,如图形、视频剪辑和声音文件

3)BLFILE

-BFILE 即 Binary File(二进制文件),它用于将二进制数据存储在数据库外部的操作系统文件中

6.ROWID和ROWNUM
Oracle 中伪列就像一个表列,但是它并没有存储在表中.伪列可以从表中查询,但不能插入、更新和删除它们的值
1)ROWID

-ROWID 是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用 ROWID 伪列快速地定位表中的一行

2)ROWNUM

-ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数




你可能感兴趣的:(Oracle)