数据库中字段类型的含义

本文中所转载的支持主要来自http://wenku.baidu.com/link?url=jC-th8GNW4XI8YKx8cpex-w75Ph5M0lsnIMHiZ47sGJjRnr9XMfZdw-KKXp0d75dSNKLgu50r4K-k-jW77EpFqVByf68o1o-DQSeDvUurT3


http://blog.csdn.net/jin868/article/details/5961263


1、字符串

CHAR:

固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符

CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。

TEXT:

可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符

VARCHAR:

可变长度的非 Unicode 数据,最长为 8,000 个字符

存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

VARCHAR型和CHAR型数据的这个差别是细微的,
   但是非常重要。假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。
    现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
    当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
    VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。


2、Unicode 字符串

NCHAR   固定长度的 Unicode 数据,最大长度为 4,000 个字符

VNCHAR  可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。

NTEXT  可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符

3、数值型

INT  从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。

SMALLINT从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。

TINYINT从 0 到 255 的整数数据。

DECIMAL从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。

NUMERIC功能同DECIMAL。

4、MONEY

MONEY货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。
SMALLMONEY   货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。


5、日期型数据

Datatime从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。
Small datatime从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。

---------华丽的分割线--------SQLite Manager中支持的类型------------

BOOL

DOUBLE:

double  64位元的实数。

FLOAT:

float  32位元的实数。

REAL:

浮点数字,存储为8-byte IEEE浮点数。

BLOB:

二进制对象.

NUMERIC:

NUMBER是数字型,可以设置小数位如num(6,2),即整数位长度为6,小数位长度为2

DATETIME

INTEGER (strict)

REAL (strict)

TEXT (strict)

-----数据类型 默认长度(字符数) -----------华丽的分割线---------

数据类型 默认长度(字符数) 
Char 定义的列长度 
Varchar 定义的列长度 
Nchar 定义的列长度的两倍 
Nvarchar 定义的列长度的两倍 
Text 0 
Ntext 0 
Bit 1 
Binary 定义的列长度的两倍 + 1 
Varbinary 定义的列长度的两倍 + 1 
Image 0 
Datetime 24 
Smalldatetime 24 
Float 30 
Real 30 
Int 12 
Bigint 19 
Smallint 7 
Tinyint 5 
Money 30 
Smallmoney 30 
Decimal 41* 
Numemic 41* 
Uniqueidentifier 37 
Timestamp 17 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值