最新的Web开发教程
 

SQL对于各种DB数据类型


数据类型和为Microsoft Access,MySQL和SQL Server的范围。


Microsoft Access数据类型

数据类型 描述 存储
Text 用于文本或文本和数字的组合。 最多255个字符
Memo 备注用于较大数量的文本。 可存储多达65,536个字符。 Note:您无法排序备注字段。 然而,他们搜索
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位小数。 Tip:您可以选择哪些国家的货币使用 8个字节
AutoNumber 自动编号字段自动为每条记录自己的数字,通常从1开始。 4个字节
Date/Time 使用日期和时间 8个字节
Yes/No 逻辑字段,可以显示为是/否,真/假,或开/关。 在代码中,使用常量True和False(等价于1和0)。 Note:空值不允许是/否领域 1位
Ole Object 可以存储图片,音频,视频,或其他的BLOB(二进制大对象) 高达1GB
Hyperlink 包含链接到其他文件,包括网页
Lookup Wizard 让你键入一个选项列表,然后可以从下拉列表中选择 4个字节

MySQL数据类型

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

Text types:

数据类型 描述
CHAR(size) 持有固定长度的字符串(可包含字母,数字和特殊字符)。 固定大小以括号指定。 可存储多达255个字符
VARCHAR(size) 保存可变长度的字符串(可包含字母,数字和特殊字符)。 的最大尺寸是在括号中指定。 最多可存储255个字符。 Note:如果你把一个更大的价值超过255它将被转换为TEXT类型。
TINYTEXT 拥有255个字符的最大长度的字符串
TEXT 与持有的65,535个字符的最大长度的字符串
BLOB 于BLOB(二进制大对象)。 最多可容纳65,535个字节的数据
MEDIUMTEXT 持有16,777,215个字符的最大长度的字符串
MEDIUMBLOB 于BLOB(二进制大对象)。 最多可容纳16,777,215字节的数据
LONGTEXT 与持有的4,294,967,295个字符的最大长度的字符串
LONGBLOB 于BLOB(二进制大对象)。 最多可容纳4,294,967,295字节的数据
ENUM(x,y,z,etc.) 让你输入可能值的列表。 您可以在ENUM列表中列出最大65535个值。 如果一个值将插入不在列表中,空值将被插入。

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

您在此格式输入可能的值:ENUM('X','Y','Z')

SET 不同之处在于设置类似于ENUM可含有多达64个列表项,并且可以存储一个以上的选择

Number types:

数据类型 描述
TINYINT(size) -128到127正常。 0到255 UNSIGNED *。 的数字的最大数可以在括号中指定
SMALLINT(size) -32768到32767正常。 0到65535 UNSIGNED *。 的数字的最大数可以在括号中指定
MEDIUMINT(size) -8388608到8388607正常。 0到16777215 UNSIGNED *。 的数字的最大数可以在括号中指定
INT(size) -2147483648到2147483647正常。 0至4294967295 UNSIGNED *。 的数字的最大数可以在括号中指定
BIGINT(size) -9223372036854775808到9223372036854775807正常。 0到18446744073709551615 UNSIGNED *。 的数字的最大数可以在括号中指定
FLOAT(size,d) 少数带有浮动小数点。 的最大位数可能在尺寸参数中指定。 的数字在小数点右侧的最大数量在d参数指定
DOUBLE(size,d) 大量带有浮动小数点。 的最大位数可能在尺寸参数中指定。 的数字在小数点右侧的最大数量在d参数指定
DECIMAL(size,d) 一个双存储为一个字符串,允许固定的小数点。 的最大位数可能在尺寸参数中指定。 的数字在小数点右侧的最大数量在d参数指定

*整数类型有一个名为UNSIGNED多了一种选择。 正常情况下,整数从负变为正的值。 添加UNSIGNED所以它开始于零,而不是负数属性将移动的范围可达。

Date types:

数据类型 描述
DATE() 一个约会。 格式:YYYY-MM-DD

Note:支持的范围是从“1000年1月1日”到“9999-12-31”

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

Note:支持的范围是从“1000年1月1日00:00:00”到“23:59:59 9999-12-31”

TIMESTAMP() *一个时间戳。 TIMESTAMP值存储为自Unix纪元(“1970-01-01 00:00:00”UTC)的秒数。 格式:YYYY-MM-DD HH:MI:SS

Note:支持的范围是从“1970-01-01 00:00:01”UTC为“2038年1月9日3时14分07秒”UTC

TIME() 一时间。 格式:HH:MI:SS

Note:支持的范围是从'-838:59:59'到'838:59:59'

YEAR() 一年在两位数或四位格式。

Note:值允许在四位格式:允许两位数格式1901 2155值:70〜69,较年一九七○年至2069年

*即使DATETIME和TIMESTAMP返回相同的格式,他们的工作非常不同。 在INSERT或UPDATE查询,时间戳自动将其自身设置为当前日期和时间。 TIMESTAMP也接受不同的格式,如YYYYMMDDHHMISS,YYMMDDHHMISS,YYYYMMDD或YYMMDD。


SQL Server数据类型

String types:

数据类型 描述 存储
char(n) 固定宽度的字符串。 最多8,000个字符 定义的宽度
varchar(n) 可变宽度的字符串。 最多8,000个字符 2字节+字符数
varchar(max) 可变宽度的字符串。 最多1,073,741,824字符 2字节+字符数
text 可变宽度的字符串。 文本数据的最大2GB 4字节+字符数
nchar 固定宽度的Unicode字符串。 最大4000个字符 定义的宽度×2
nvarchar 可变宽度Unicode字符串。 最大4000个字符
nvarchar(max) 可变宽度Unicode字符串。 最大536,870,912个字符
ntext 可变宽度Unicode字符串。 文本数据的最大2GB
bit 允许0,1或NULL
binary(n) 固定宽度的二进制字符串。 最多8,000个字节
varbinary 可变宽度的二进制字符串。 最多8,000个字节
varbinary(max) 可变宽度的二进制字符串。 最多2GB。
image 可变宽度的二进制字符串。 最多2GB。

Number types:

数据类型 描述 存储
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个字节。 浮子(24)保持一个4字节字段和浮子(53)成立的8字节字段。 为n的默认值为53。

4或8个字节
real 浮点精度数字数据,从-3.40E + 38到3.40E + 38 4个字节

Date types:

数据类型 描述 存储
datetime 从1753年1月1日至9999年12月31日,3.33毫秒精度 8个字节
datetime2 从0001年1月1至9999年12月31日,100纳秒的精度 6-8字节
smalldatetime 从1900年1月1日至2079年6月6,以1分的精度 4个字节
date 只存储一个日期。 从0001年1月1至9999年12月31日, 3个字节
time 存放时间只有100纳秒的精度 3-5字节
datetimeoffset 相同DATETIME2通过加入一个时区的偏移 8-10字节
timestamp 存储有被每一个行被创建或修改时更新一个唯一的编号。 时间戳值是根据内部时钟和不对应于实际时间。 每个表只能有一个timestamp变量。

Other data types:

数据类型 描述
sql_variant 可存储多达8000个字节不同数据类型的数据,除了text,ntext和时间戳
uniqueidentifier 存储全局唯一标识符(GUID)
xml 房屋XML格式的数据。 最多2GB。
cursor 存储对用于数据库操作的指针的引用
table 存储结果集进行后续处理