`
jbf034
  • 浏览: 153187 次
  • 性别: 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# 作的动态定义数据库字段" 提供了一种方法,允许用户在运行时自定义数据库表的字段,而无需预先硬编码所有...

    数据库字段属性1

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

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

    《JTT 1058-2016 交通运输信息系统 数据库字段命名及属性定义》是中国交通运输领域的一项标准,旨在规范信息系统数据库中字段的命名和属性定义,以提高数据的共享交换效率和理解准确性。该标准依据GB/T 1.1—2009的...

    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

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

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

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

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

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

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

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

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

    Hibernate 配置跟数据库字段的对应关系

    本文将深入探讨如何在Hibernate配置中设置与数据库字段的对应关系,以及相关的Mysql数据库数据类型。 首先,我们需要理解Hibernate的核心配置文件`hibernate.cfg.xml`,在这个文件中,我们定义了数据源、持久化类...

Global site tag (gtag.js) - Google Analytics