SQL数据类型

     Microsoft Access、MySQL 以及SQL Server 所使用的数据类型和范围。

一、Microsoft Access 数据类型

数据类型

描述

存储

Text

用于文本或文本与数字的组合。最多255 个字符。

Memo

Memo 用于更大数量的文本。最多存储65,536 个字符。

注释:无法对memo 字段进行排序。不过它们是可搜索的。

Byte

允许0 到255 的数字。

1 字节

Integer

允许介于-32,768 到32,767 之间的数字。

2 字节

Long

允许介于-2,147,483,648 与2,147,483,647 之间的全部数字

4 字节

Single

单精度浮点。处理大多数小数。

4 字节

Double

双精度浮点。处理大多数小数。

8 字节

Currency

用于货币。支持15 位的元,外加4 位小数。

提示:您可以选择使用哪个国家的货币。

8 字节

AutoNumber

AutoNumber 字段自动为每条记录分配数字,通常从1 开始。

4 字节

Date/Time

用于日期和时间

8 字节

Yes/No

逻辑字段,可以显示为Yes/No、True/False 或On/Off。

在代码中,使用常量True 和False (等价于1 和0)

注释:Yes/No 字段中不允许Null 值

1 比特

Ole Object

可以存储图片、音频、视频或其他BLOBs (Binary Large OBjects)

最多1GB

Hyperlink

包含指向其他文件的链接,包括网页。

Lookup Wizard

允许你创建一个可从下列列表中进行选择的选项列表。

4 字节

二、MySQL 数据类型

在MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。

Text 类型:

数据类型

描述

CHAR(size)

保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255 个字符。

VARCHAR(size)

保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255 个字符。

注释:如果值的长度大于255,则被转换为TEXT 类型。

TINYTEXT

存放最大长度为255 个字符的字符串。

TEXT

存放最大长度为65,535 个字符的字符串。

BLOB

用于BLOBs (Binary Large OBjects)。存放最多65,535 字节的数据。

MEDIUMTEXT

存放最大长度为16,777,215 个字符的字符串。

MEDIUMBLOB

用于BLOBs (Binary Large OBjects)。存放最多16,777,215 字节的数据。

LONGTEXT

存放最大长度为4,294,967,295 个字符的字符串。

LONGBLOB

用于BLOBs (Binary Large OBjects)。存放最多4,294,967,295 字节的数据。

ENUM(x,y,z,etc.)

允许你输入可能值的列表。可以在ENUM 列表中列出最大65535 个值。如果列表中不存在插入的值,则插入空值。

注释:这些值是按照你输入的顺序存储的。

可以按照此格式输入可能的值:ENUM('X','Y','Z')

SET

与ENUM 类似,SET 最多只能包含64 个列表项,不过SET 可存储一个以上的值。

Number 类型:

数据类型

描述

TINYINT(size)

-128 到127 常规。0 到255 无符号*。在括号中规定最大位数。

SMALLINT(size)

-32768 到32767 常规。0 到65535 无符号*。在括号中规定最大位数。

MEDIUMINT(size)

-8388608 到8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。

INT(size)

-2147483648 到2147483647 常规。0 到4294967295 无符号*。在括号中规定最大位数。

BIGINT(size)

-9223372036854775808 到9223372036854775807 常规。0 到18446744073709551615 无符号*。在括号中规定最大位数。

FLOAT(size,d)

带有浮动小数点的小数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。

DOUBLE(size,d)

带有浮动小数点的大数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。

DECIMAL(size,d)

作为字符串存储的DOUBLE 类型,允许固定的小数点。

* 这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED 属性,那么范围将从0 开始,而不是某个负数。

Date 类型:

数据类型

描述

DATE()

日期。格式:YYYY-MM-DD

注释:支持的范围是从'1000-01-01' 到'9999-12-31'

DATETIME()

*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从'1000-01-01 00:00:00' 到'9999-12-31 23:59:59'

TIMESTAMP()

*时间戳。TIMESTAMP 值使用Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从'1970-01-01 00:00:01' UTC 到'2038-01-09 03:14:07' UTC

TIME()

时间。格式:HH:MM:SS 注释:支持的范围是从'-838:59:59' 到'838:59:59'

YEAR()

2 位或4 位格式的年。

注释:4 位格式所允许的值:1901 到2155。2 位格式所允许的值:70 到69,表示从1970 到2069。

* 即便DATETIME 和TIMESTAMP 返回相同的格式,它们的工作方式很不同。在INSERT 或UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或YYMMDD。

三、SQL Server 数据类型

Character 字符串:

数据类型

描述

存储

char(n)

固定长度的字符串。最多8,000 个字符。

n

varchar(n)

可变长度的字符串。最多8,000 个字符。

varchar(max)

可变长度的字符串。最多1,073,741,824 个字符。

text

可变长度的字符串。最多2GB 字符数据。

Unicode 字符串:

数据类型

描述

存储

nchar(n)

固定长度的Unicode 数据。最多4,000 个字符。

nvarchar(n)

可变长度的Unicode 数据。最多4,000 个字符。

nvarchar(max)

可变长度的Unicode 数据。最多536,870,912 个字符。

ntext

可变长度的Unicode 数据。最多2GB 字符数据。

Binary 类型:

数据类型

描述

存储

bit

允许0、1 或NULL

binary(n)

固定长度的二进制数据。最多8,000 字节。

varbinary(n)

可变长度的二进制数据。最多8,000 字节。

varbinary(max)

可变长度的二进制数据。最多2GB 字节。

image

可变长度的二进制数据。最多2GB。

Number 类型:

数据类型

描述

存储

tinyint

允许从0 到255 的所有数字。

1 字节

smallint

允许从-32,768 到32,767 的所有数字。

2 字节

int

允许从-2,147,483,648 到2,147,483,647 的所有数字。

4 字节

bigint

允许介于-9,223,372,036,854,775,808 和9,223,372,036,854,775,807 之间的所有数字。

8 字节

decimal(p,s)

固定精度和比例的数字。允许从-10^38 +1 到10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是1 到38 之间的值。默认是18。

s 参数指示小数点右侧存储的最大位数。s 必须是0 到p 之间的值。默认是0。

5-17 字节

numeric(p,s)

固定精度和比例的数字。允许从-10^38 +1 到10^38 -1 之间的数字。

p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是1 到38 之间的值。默认是18。

s 参数指示小数点右侧存储的最大位数。s 必须是0 到p 之间的值。默认是0。

5-17 字节

smallmoney

介于-214,748.3648 和214,748.3647 之间的货币数据。

4 字节

money

介于-922,337,203,685,477.5808 和922,337,203,685,477.5807 之间的货币数据。

8 字节

float(n)

从-1.79E + 308 到1.79E + 308 的浮动精度数字数据。参数n 指示该字段保存4 字节还是8 字节。float(24) 保存4 字节,而float(53) 保存8 字节。n 的默认值是53。

4 或8 字节

real

从-3.40E + 38 到3.40E + 38 的浮动精度数字数据。

4 字节

Date 类型:

数据类型

描述

存储

datetime

从1753 年1 月1 日到9999 年12 月31 日,精度为3.33 毫秒。

8 bytes

datetime2

从1753 年1 月1 日到9999 年12 月31 日,精度为100 纳秒。

6-8 bytes

smalldatetime

从1900 年1 月1 日到2079 年6 月6 日,精度为1 分钟。

4 bytes

date

仅存储日期。从0001 年1 月1 日到9999 年12 月31 日。

3 bytes

time

仅存储时间。精度为100 纳秒。

3-5 bytes

datetimeoffset

与datetime2 相同,外加时区偏移。

8-10 bytes

timestamp

存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个timestamp 变量。

其他数据类型:

数据类型

描述

sql_variant

存储最多8,000 字节不同数据类型的数据,除了text、ntext 以及timestamp。

uniqueidentifier

存储全局标识符(GUID)。

xml

存储XML 格式化数据。最多2GB。

cursor

存储对用于数据库操作的指针的引用。

table

存储结果集,供稍后处理。

posted @ 2011-09-25 16:03  gxldan  阅读(125)  评论(0编辑  收藏  举报