mysql常用的tinyint,smallint,mediumint,int,bigint,float,double,year,time,date,datetime,timestamp,char,varchar,tinytext,text,mediumtext,longtext,enum,set类型的储存范围和适应范围的简介和说明。
整数类型
数据类型:TINYINT
储存范围:
有符号值:-128到127(-2^7到2^7-1)
无符号值:0到255(0到2^8-1)
字节:1
数据类型:SMALLINT
储存范围:
有符号值:-32768到32767(-2^15到2^15-1)
无符号值:0到65535(0到2^16-1)
字节:2
数据类型:MEDIUMINT
储存范围:
有符号值:-8388608到8388607(-2^23到2^23-1)
无符号值:0到16777215(0到2^24-1)
字节:3
数据类型:INT
储存范围:
有符号值:-2147483648到2147483647(-2^31到2^31-1)
无符号值:0到4294967295(0到2^32-1)
字节:4
数据类型:BIGINT
储存范围:
有符号值:-9223372036854775808到9223372036854775807(-2^63到2^63-1)
无符号值:0到4294967295(0到2^64-1)
字节:8
浮点数类型
数据类型:FLOAT[(M,D)]
储存范围:
-3.402823466E+38 到 -1.175494351E-38、0 和 1.175494351E-38 到 3.402823466E+38。
M是数字总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。
数据类型:DOUBLE[(M,D)]
储存范围:
-1.7976931348623157E+308 到 -2.2250738585072014E-308、0 和 2.2250738585072014E-308 到 1.7976931348623157E+308。
时间日期类型
数据类型 储存范围 字节
YEAR 1901 - 2155 1
TIME -838:59:59 - 838:59:59 3
DATE 1000年1月1日 - 9999年12月31日 3
DATETIME 1000年1月1日00:00:00 - 9999年12月31日23:59:59 8
TIMESTAMP 1970年1月1日00:00:00 - 2037年某个时间 4
字符类型(附枚举类型,集合类型)
数据类型 储存范围
CHAR(M) M个字节,0 <= M <= 255
VARCHAR(M) L+1个字节,其中L <= M且0 <= M <= 65535
TINYTEXT L+1个字节,其中L < 2^8
TEXT L+2个字节,其中L < 2^16
MEDIUMTEXT L+3个字节,其中L < 2^24
LONGTEXT L+4个字节,其中L < 2^32
ENUM('value1','value2',……) 1或2个字节,取决于枚举值的个数(最多65535个值)
SET('value1','value2',……) 1、 2、 3、 4或者8个字节,取决于set成员的数目(最多64个成员)