您的位置:首页 > 数据库 > MySQL

MySQL数据类型及长度限制

2015-10-21 20:34 507 查看
今天php的QQ群里的朋友问了下关于tinyint(1)能存几位数据的问题,自己还真不清楚,于是自己试了下,和自己想象的还真是不一样。也欢迎大家加入php群:18952955

INT(M), M是管什么用的?

作为对 ANSI/ISO SQL92 标准的一个扩展,MySQL 也支持上面的表格所列出的整型类型 TINYINT、MEDIUMINT 和 BIGINT。另外一个扩展是 MySQL 支持随意指定一个整型数值的显示格式,这通过在类型的基本关键词后跟一个括号来实现(例如 INT(4))。这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。当与可选的扩展属性
ZEROFILL 一起使用时,缺省填补用的空格被零代替。举例来说,一个列被定义为 INT(5) ZEROFILL,插入的值 4 被检索出来时为 00004。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 MySQL 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,MySQL 信任地认为所有的值均适合原始的列宽度。

下面是在网上搜到的资料(都是在长度为1的情况下)

数字类型

[align=left]类型[/align]
[align=left]大小[/align]
[align=left]范围(有符号)[/align]
[align=left]范围(无符号)[/align]
[align=left]用途[/align]
[align=left]TINYINT[/align]
[align=left]1 字节[/align]
[align=left](-128,127)[/align]
[align=left](0,255)[/align]
[align=left]小整数值[/align]
[align=left]SMALLINT[/align]
[align=left]2 字节[/align]
[align=left](-32 768,32 767)[/align]
[align=left](0,65 535)[/align]
[align=left]大整数值[/align]
[align=left]MEDIUMINT[/align]
[align=left]3 字节[/align]
[align=left](-8 388 608,8 388 607)[/align]
[align=left](0,16 777 215)[/align]
[align=left]大整数值[/align]
[align=left]INT或INTEGER[/align]
[align=left]4 字节[/align]
[align=left](-2 147 483 648,2 147 483 647)[/align]
[align=left](0,4 294 967 295)[/align]
[align=left]大整数值[/align]
[align=left]BIGINT[/align]
[align=left]8 字节[/align]
[align=left](-9 233 372 036 854 775 808,9 223 372 036 854 775 807)[/align]
[align=left](0,18 446 744 073 709 551 615)[/align]
[align=left]极大整数值[/align]
[align=left]FLOAT[/align]
[align=left]4 字节[/align]
[align=left](-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)[/align]
[align=left]0,(1.175 494 351 E-38,3.402 823 466 E+38)[/align]
单精度

浮点数值
[align=left]DOUBLE[/align]
[align=left]8 字节[/align]
[align=left](1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)[/align]
[align=left]0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)[/align]
双精度

浮点数值
[align=left]DECIMAL[/align]
[align=left]对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2[/align]
[align=left]依赖于M和D的值[/align]
[align=left]依赖于M和D的值[/align]
[align=left]小数值[/align]
字符类型

[align=left]CHAR[/align]
[align=left]0-255字节[/align]
[align=left]定长字符串[/align]
[align=left]VARCHAR[/align]
[align=left]0-255字节[/align]
[align=left]变长字符串[/align]
[align=left]TINYBLOB[/align]
[align=left]0-255字节[/align]
[align=left]不超过 255 个字符的二进制字符串[/align]
[align=left]TINYTEXT[/align]
[align=left]0-255字节[/align]
[align=left]短文本字符串[/align]
[align=left]BLOB[/align]
[align=left]0-65 535字节[/align]
[align=left]二进制形式的长文本数据[/align]
[align=left]TEXT[/align]
[align=left]0-65 535字节[/align]
[align=left]长文本数据[/align]
[align=left]MEDIUMBLOB[/align]
[align=left]0-16 777 215字节[/align]
[align=left]二进制形式的中等长度文本数据[/align]
[align=left]MEDIUMTEXT[/align]
[align=left]0-16 777 215字节[/align]
[align=left]中等长度文本数据[/align]
[align=left]LOGNGBLOB[/align]
[align=left]0-4 294 967 295字节[/align]
[align=left]二进制形式的极大文本数据[/align]
[align=left]LONGTEXT[/align]
[align=left]0-4 294 967 295字节[/align]
[align=left]极大文本数据[/align]
枚举、集合

ENUM (最多65535个成员) 64KB

SET (最多64个成员) 64KB

时间类型

[align=left]类型[/align]
大小

(字节)

[align=left]范围[/align]
[align=left]格式[/align]
[align=left]用途[/align]
[align=left]DATE[/align]
[align=left]3[/align]
[align=left]1000-01-01/9999-12-31[/align]
[align=left]YYYY-MM-DD[/align]
[align=left]日期值[/align]
[align=left]TIME[/align]
[align=left]3[/align]
[align=left]'-838:59:59'/'838:59:59'[/align]
[align=left]HH:MM:SS[/align]
[align=left]时间值或持续时间[/align]
[align=left]YEAR[/align]
[align=left]1[/align]
[align=left]1901/2155[/align]
[align=left]YYYY[/align]
[align=left]年份值[/align]
[align=left]DATETIME[/align]
[align=left]8[/align]
[align=left]1000-01-01 00:00:00/9999-12-31 23:59:59[/align]
[align=left]YYYY-MM-DD HH:MM:SS[/align]
[align=left]混合日期和时间值[/align]
[align=left]TIMESTAMP[/align]
[align=left]8[/align]
[align=left]1970-01-01 00:00:00/2037 年某时[/align]
[align=left]YYYYMMDD HHMMSS[/align]
[align=left]混合日期和时间值,时间戳[/align]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: