oracle结构化语言的分类,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

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

2)BLOB

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

3)BLFILE

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

6.ROWID和ROWNUM

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

1)ROWID

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

2)ROWNUM

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值