Oracle 11g 数据类型

        建立表包括定义表的结构和添加数据记录。在定义数据表时,必须为它的每一列指定一种内部数据类型。数据类型限定了数据表每一列的取值范围。

        我们首先介绍oracle 11该数据库内部数据类型。(数据类型是数据的基本属性,反映了数据的类别)

        oracle 11g主要有3种数据类型:基本(oracle数据库内部)数据类型,集合类型,和引用类型。

        基本数据类型在建立表时经常使用。集合数据类型主要用于表示像数组那样的多个元素,包括索引表,嵌套表。VARRAY数组等。引用数据类型以引用的方式定义了与其他对象的关系,存储的是指向不同对象数据表的数据的指针。

                                            oracle  11g 基本数据类型

        CHAR     定长的字符型数据,最大长度可达2KB

        VARCHAR2   变长的字符型数据,最大长度可达4000个字符

        LONG      存储最大长度为2GB的变长字符数据

        NUMBER  存储整型或浮点型数值

        FLOAT     存储浮点数

        DATE       存储日期数据

        RAW        存储非结构化数据的变长字符数据,最长2KB

        LONG RAW   存储非结构化数据的变长字符数据,最长2GB

        ROWID     存储表中列的物理地址的二进制数据,占用固定的10个字节

        BLOB   存储多达4GB的非结构化的二进制数据

        CLOB   存储多达4GB的非结构化的字符数据

        BFILE  把非结构化的二进制数据作为文件存在在数据库外

        RUOWID 存储表示任何类型地址的二进制数据

        下面简述oracle 11g 常见的数据类型

        1.字符数据类型

        用于存储数据库字符集中的字符数据。字符数据以串存储。oracle支持单字节和双字节 两种字符集

        (1)CHAR数据类型。指定定长字符串。必须指定字符串的长度,默认长度1字节,最大长度255字节

        (2)VARCHAR2数据类型。指定变长字符串。必须为其指定最大字节数,其最大字长度为2000字节。

       (3)LONG数据类型。LONG数据类型的列存储变长字符串,其最大长度为2GB。LONG列具有VARCHAR2列的许多特征,利用它可存储较长的字符串。一个表中最大有一个LONG列,LONG列不能索引,不能出现在完整性约束中。

        2.数字数据类型

        (1)NUBER数据类型。用于存储零,正负定点数或浮点数,其最大精度为38位。定点数据类型的语法为(P,S)

                P--------代表总的数字数。精度范围为1~38.

                S--------代表小数点右边的数字位。精度范围为-84~127

        (2)FLOAT数据类型 oracle允许指定浮点数。一个浮点数可以有一个小数点。oracle支持ANSI的FLOAT数据类型。FLOAT数据类型有两种格式:

                 FLOAT-------指定一浮点数,十进制精度为38,二进制精度为126

                FLOAT(B)-----指定一浮点数,二进制精度为B,精度B的范围为1~126

        3.DATE数据类型

            DATE数据类型用于存储日和和时间信息。

        4.RAW及LONG RAW数据类型

           RAW及LONG RAW数据类型表示面向字节数据(如二进制或字符串),可存储字符串,浮点数,二进制数据(如图像,数字化的声音)等。oracle返回的RAW值为十六进制字符值。RAW数据仅可存储和检索,不能执行串操作。

        5.ROWID数据类型

            ROWID数据类型是oracle数据库表中的一个伪列,他说数据库中每行数据内在的唯一标识。数据库中的每一行(ROW)有一个地址,通过查询伪列ROWID获得行地址。该伪列值为十六进制字符串,该串的数据类型为ROWID类型。

        6.LOB(Large Object)数据类型

            LOB数据类型存储非结构化数据,比如二进制文件,图形文件,或其他外部文件。LOB可存储到4GB大小。数据可以存储到数据库中也可以存储到外部数据文件中。LOB数据的控制通过DBMS_LOB包来实现

             LOB数据类型有一下几种:

                   BLOB        二进制数据可以存储到不同的表空间中

                   CLOB        字符型数据可以存储到不同的表空间中

                   BFILLE       二进制文件存在在服务器上的外部文件中。

        7.UROWID数据类型

            存储数据库记录行的地址UROWID(Universal Rowid)表示一行数据的逻辑地址。一般情况下,索引组织表IOT和远程数据库(可以是非oralce数据库)中的表需要用到UROWID.

展开阅读全文

没有更多推荐了,返回首页