`
jbf034
  • 浏览: 153583 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

常用的数据库字段类型

阅读更多
常用的数据库字段类型如下:

字段类型 中文说明 限制条件 其它说明
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS)经过严格测试,无千虫问题
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 同上
BLOB 二进制数据 最大长度4G
CLOB 字符数据 最大长度4G
NCLOB 根据字符集而定的字符数据 最大长度4G
BFILE 存放在数据库外的二进制数据 最大长度4G
ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
NUMBER(P,S) 数字类型 P为整数位,S为小数位
DECIMAL(P,S) 数字类型 P为整数位,S为小数位
INTEGER 整数类型 小的整数
FLOAT 浮点数类型 NUMBER(38),双精度
REAL 实数类型 NUMBER(63),精度更高
这些数据类型的数字代码是多少?
如在dbf中
8 ----CHAR
12 -----NUMERIC
------------------------------------------------------------------------------------------------
CHAR,VARCHAR,VARCHAR2类型的区别与使用
-------------------------------------
区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc“,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

何时该用CHAR,何时该用varchar2?
CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率‘。
VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移‘(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
分享到:
评论

相关推荐

    hibernate使用中与各种数据库字段类型对应类型训练

    本训练主要关注在使用Hibernate时如何处理与各种数据库字段类型的映射,这对于理解和优化数据库交互至关重要。 首先,我们要理解Hibernate的核心概念——对象关系映射(ORM)。ORM允许我们将数据库表结构映射到Java...

    自定义TypeHandler,解决在springboot+mybatis+postgresql时,数据库字段类型为json时,如何与mybatis进行映射

    解决在springboot+mybatis+postgresql时,数据库字段类型为json时,如何与mybatis进行映射

    利用代码修改数据库字段类型

    "利用代码修改数据库字段类型"是一个高效且灵活的方法,它允许开发者无需通过图形用户界面(GUI)即可实现对数据库表结构的修改。这种方法尤其适用于自动化部署、持续集成/持续交付(CI/CD)流程,以及大规模数据...

    数据库字段类型修改.txt

    数据库字段类型修改.txt

    数据库字段命名规范

    * 字段名要与字段类型相符。 * 默认的数据要写注释,在说明栏标注默认数据代表的意思。 三、数据库表中外键命名规范 * 对应主键所在表的表名+ID。 * 简写不参与在外键命名上。 * 外键行要标黄。 四、全称简写对照...

    易语言数据库字段求和

    本篇将深入探讨“易语言数据库字段求和”这一主题,帮助你理解和掌握如何在易语言中实现对数据库字段的求和功能。 首先,我们要理解数据库字段求和的基本概念。在数据库中,字段是指表中的一列,而求和则是指对某一...

    C# 作的动态定义数据库字段

    在.NET框架中,C#是一种常用的编程语言,用于构建各种类型的应用程序,包括Web应用程序。在本项目中,"C# 作的动态定义数据库字段" 提供了一种方法,允许用户在运行时自定义数据库表的字段,而无需预先硬编码所有...

    JTT 1058-2016 交通运输信息系统 数据库字段命名及属性定义1

    该标准的出台,为公路、水路等交通运输信息系统的数据库字段命名和属性定义提供了明确的规范,确保了数据库字段命名的一致性和合理性,同时也为数据库字段属性的定义提供了科学依据。如此一来,不同信息系统间的...

    数据库字段属性1

    数据库字段类型是指字段可以存储的数据类型,常见的数据库字段类型有: * 整数型(int):用于存储整数值,如用户 ID、年龄等。 * 字符串型(varchar):用于存储字符串值,如用户名、密码等。 * 日期型(datetime...

    JDBC数据类型与数据库字段对应表——SQL Server篇

    JDBC数据类型与数据库字段对应表——SQL Server篇 数值型 整型 JDBC tinyint java.lang.Integer smallint int bigint java.lang.Long mediumint java.lang.Long

    动态添加数据库字段.md

    动态增加数据库字段,如在页面上 填写 字段名、字段类型,通过Java后端,数据库的表就会自动的添加字段。

    java实体类字段自定义-数据库字段和程序实体类属性不一致解决方案.docx

    Java 实体类字段自定义-数据库字段和程序实体类属性不一致解决方案 Java 实体类字段自定义是指在 Java 开发中,实体类的字段与数据库表的字段不一致的问题。这种情况下,需要实现实体类字段的自定义,以便与数据库...

    JDBC数据类型与数据库字段对应表——mysql篇

    JDBC数据类型与数据库字段对应表——mysql篇 数值型 整型 JDBC tinyint java.lang.Integer smallint mediumint java.lang.Long int bigint java.math.BigInteger

    javasqlTypes数据库字段类型java数据类型的对应关系

    在Java编程语言中,与数据库交互是常见的任务,这就涉及到`java.sql.Types`枚举类,它是Java数据类型与数据库字段类型之间的桥梁。`java.sql.Types`定义了一系列常量,这些常量代表了SQL标准中的数据类型,使得我们...

    java.sql.Types数据库字段类型java数据类型的对应关系.rar

    数据库字段类型java数据类型的对应关系

    一键填充数据库字段名.rar

    标题 "一键填充数据库字段名.rar" 提供的信息表明,这个压缩包可能包含一个或多个工具或脚本,用于自动化填充数据库的字段名称。这通常是为了提高数据录入的效率,尤其是在数据库设计阶段或需要大量手动输入字段信息...

    android系统内置数据库字段描述

    在Android系统中,数据库是一种重要的数据...理解数据库字段的含义和用途将使这些问题的解决变得更加简单。因此,深入研究和理解Android系统内置数据库的字段描述对于任何Android开发者来说都是一个基本且重要的技能。

    Java实体类字段生成工具类-将数据库表列字段转为Java实体类驼峰字段

    1、在Java开发中,常常需要将数据库表列字段换成Java实体类字段。但是手动实现这个转换过程比较慢,且容易出错,影响开发效率。为了解决这个问题,开发了这个Java实体类字段生成工具类。 2、该工具类可以将数据库表...

Global site tag (gtag.js) - Google Analytics