`
thaIm
  • 浏览: 91544 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle --- 数据类型

阅读更多
一)数据类型的分类
    Oracle支持的数据类型可以分为四个基本种类:字符数据类型、数字数据类型、日期数据类型以及表示其它数据的数据类型。
     属于字符数据类型的有: char/varchar/varchar2/nvarchar/nvarchar2/long
    属于数字数据类型的有: number
    属于日期数据类型的有: date/timestamp
    属于其它数据类型的有: raw/long raw/rowid/CLOB/NCLOB/BLOB/BFILE

二)字符数据类型
1)char
    char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节;
    char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。
    char适用于长度比较固定的,一般不含中文的情况

2)varchar
    varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。
    varchar同样区分中英文

3)varchar2
    varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串

varchar/varchar2适用于长度不固定的,一般不含中文的情况

4)nvarchar
    nvarchar是长度不固定的
    nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数

5)nvarchar2
    nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节

nvarchar/nvarchar2适用于存放中文

6)long
    LONG数据类型可以存放2GB的字符数据,它是从早期版本中继承来的。现在如果想存储大容量的数据,Oracle推荐使用CLOB和NCLOB数据类型。在表和SQL语句中使用LONG类型有许多限制。所以已经不大推荐使用了。

三)数字数据类型
    Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。
    NUMBER数据类型可以有两个限定符,如:
    column NUMBER (precision, scale)
    precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。
    scale表示数字小数点右边的位数,scale默认设置为0.如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

四)日期数据类型
1)date
    可以存储月,年,日,世纪,时,分和秒。度量粒度是秒

2)timestamp
    它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息。
to_char函数支持date和timestamp

五)其它数据类型
1)raw
    用于存储基于字节的数据,最多能存储2000个字节,它没有默认大小,所以在使用时要指定大小,可以建立索引。

2)long raw
    用于存储可变长度的二进制数据,最多能存储2GB,它受的限制和LONG类型一样

3)rowid
    ROWID是一种特殊的列类型,称之为伪列(pseudocolumn)。ROWID伪列在SQL SELECT语句中可以像普通列那样被访问。Oracle数据库中每行都有一个伪列。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义。
    ROWID与磁盘驱动的特定位置有关,因此,ROWID是获得行的最快方法。但是,行的ROWID会随着卸载和重载数据库而发生变化,因此建议不要在事务 中使用ROWID伪列的值。例如,一旦当前应用已经使用完记录,就没有理由保存行的ROWID.不能通过任何SQL语句来设置标准的ROWID伪列的值。
    列或变量可以定义成ROWID数据类型,但是Oracle不能保证该列或变量的值是一个有效的ROWID.

4)BLOB
    它可以存储较大的二进制对象;如图形,音视频剪辑。

5)CLOB
    一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节

6)NLOB
    一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节;储存国家字符集

7)BFILE
    包含一个大型二进制文件的定位器,其储存在数据库的外面;使得可以以字符流I/O访问存在数据库服务器上的外部LOB;最大大小为4G字节.
分享到:
评论

相关推荐

    cx_Oracle-5.1.3.tar.gz,oracle-instantclient11.2

    cx_Oracle库提供了丰富的数据类型映射,使得Python对象可以直接与Oracle数据库的列类型对应,如将Python的字符串映射到Oracle的VARCHAR2,将整数映射到NUMBER等。 此外,描述中提到了pymongo-3.6.1.tar.gz,这是...

    oracle-database-server-12cR2-preinstall

    2. **系统调整**:预安装过程会检查并调整操作系统的参数,如内核参数、内存分配、磁盘空间和文件系统类型,以优化Oracle数据库的运行环境。 3. **用户和组设置**:创建并配置Oracle相关的用户和组,例如`oracle`...

    oracle-j2sdk1.8-1.8.0+update181-1.x86-64.rpm

    - **类型接口**: 针对泛型类型引入了类型接口,如Optional,增强了代码的可读性和安全性。 3. **RPM包管理**: - **安装**: 使用`rpm -i`或`yum install`命令来安装RPM包,系统会自动处理依赖关系。 - **查询**: ...

    cx_Oracle-7.3.0.tar.gz

    - 它提供多种数据类型,如 NUMBER、VARCHAR2、DATE、BLOB 等,支持复杂的数据结构和高级查询功能。 - 在企业级应用中,Oracle 常用于构建大型、分布式的企业信息系统。 3. **Linux 环境**: - `cx_Oracle-7.3.0....

    oracle-instantclient.11.2.zip

    - 数据导入/导出:将数据从其他格式导入Oracle,或者将Oracle数据导出为其他格式。 - 报表设计:创建自定义报表,展示数据库信息。 - 同步工具:比较并同步数据库结构,确保多环境一致性。 - 数据备份:定期备份...

    oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip

    8. **数据类型支持**:Oracle数据库拥有丰富的内置数据类型,SDK支持将这些类型与应用程序中的数据类型进行映射,方便数据的传输和处理。 9. **性能优化**:Oracle Instant Client支持高级特性,如绑定变量、批量...

    sqlplus 11.2 安装包oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    11g Release 2(11.2)是Oracle数据库的一个重要版本,它引入了许多新特性,如自动内存管理、实时应用集群、优化器增强、数据加密等。 4. **RPM包**:RPM是一种软件包管理格式,广泛应用于基于Linux的系统,如Red ...

    oracle-java数据类型1

    在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...

    cx_Oracle-6.0b2-py3.6-win32.rar

    然而,需要注意的是,由于Oracle数据库的特性,某些SQL语法和Python的数据类型可能不完全兼容,比如日期时间类型。cx_Oracle提供了OracleDate、OracleTime等类来处理这些特殊情况。此外,当处理大数据量时,可能需要...

    ORACLE-TNS协议分析详解.doc

    这一版本的TNS协议定义了一个通用的包头结构,用于标识请求数据类型,不同的数据类型对应不同的服务请求和数据传输行为。例如: - **查询操作**:一般使用数据类型(DATA)。 - **查询语句出错**:使用标记类型...

    jdbc-oracle-thinjdbc-oracle-thin

    其中,Oracle 提供了两种主要类型的 JDBC 驱动:JDBC-Oracle-Thin 和 OCI(Oracle Call Interface)驱动。本文主要关注的是 JDBC-Oracle-Thin 驱动。 ##### 1.1 JDBC-Oracle-Thin 的定义 JDBC-Oracle-Thin 驱动是...

    Oracle-jdbc-jar包

    Oracle JDBC驱动支持四种类型的驱动模型,分别是类型1、2、3和4。类型1是纯Java的ODBC桥,适合小型应用;类型2结合了JNI,提供更好的性能;类型3是基于网络协议的中间件;而类型4是完全的Java实现,直接与Oracle...

    cx_Oracle-5.2.1-11g.win-amd64-py3.5

    5. **数据类型映射**:cx_Oracle将Oracle的数据类型与Python的数据类型进行映射,使得在Python中操作Oracle数据库变得直观,如将Oracle的DATE类型映射为Python的datetime对象。 6. **异常处理**:cx_Oracle提供了与...

    cx_Oracle-7.3.0-cp36-cp36m-win_amd64.txt

    它允许Python应用程序连接到Oracle数据库并执行SQL命令,从而实现对数据的查询、更新等操作。cx_Oracle支持多种Python版本,并且能够在不同的操作系统上运行。 ### 关键知识点二:文件名解析 #### 文件名:cx_...

    deploying-oracle-11gr2-rac-on-rhel6_1

    - 为不同的流量类型(如数据、心跳)分配专用网络,提高效率。 3. **内存管理和调优**: - 根据实际负载调整 SGA 和 PGA 大小。 - 启用内存目标模式以实现更灵活的内存管理。 4. **监控与维护**: - 定期检查...

    cx_Oracle-5.1.3.tar.gz

    - 自动类型映射,将Oracle数据类型自动转换为Python数据类型。 - 支持事务控制,包括提交、回滚和保存点。 - 连接池管理,用于提高性能和资源利用率。 总的来说,cx_Oracle是Python开发者在Oracle数据库环境下不可...

    Oracle-OCI(Oracle-Call-Interface)官方文档翻译

    OCI提供了多种功能,包括支持大量用户的安全、灵活的多线程API集合,用于管理数据库访问、处理SQL语句和管理Oracle数据库对象的SQL访问函数,以及数据类型映射和操作函数,用于管理Oracle类型的数据属性。...

    cx_Oracle-5.1.2.tar.gz

    6. **类型映射**:cx_Oracle自动处理Python类型与Oracle数据库类型的映射,如字符串、整数、日期等,同时也支持自定义类型映射。 7. **游标属性**:游标对象有多个属性,如`rowcount`(返回受影响的行数)、`...

    Python库 | filebeat_oracle-0.1.0-py3-none-any.whl

    它支持多种数据类型、安全性、并发性以及高级的SQL功能,被广泛应用于大型企业、金融机构等对数据安全性和性能要求极高的场景。 **Python与Oracle的交互** 在Python中,与Oracle数据库进行交互通常需要借助于特定...

Global site tag (gtag.js) - Google Analytics