MySQL 数据类型一览
整理了一下mysql中数据类型
1.数值类型
tinyint
从 -2^7 (-128) 到 2^7 - 1 (127) 的整型数据。存储大小为 1 个字节。
unsigned 是从 0 到 255 的整型数据。用于小数型
所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。
smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
unsigned 是从 0 到 65535 的整型数据。用于大整数值
所以建表的时候 只能是smallint(5),哪怕你建smallint(100),他最大还是5位这么多。
mediumint
从 -2^23 (-8,388,608) 到 2^23(8,388,607) 的整型数据(所有数字).存储大小为 3 个字节。
unsigned 是从 0 到 16 777 215的整型数据。用于大整数值
所以建表的时候 只能是mediumint(7),哪怕你建int(100),他最大还是7位这么多。
int/integer
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节。
unsigned 是从 0 到 4294967296 的整型数据。
所以建表的时候 只能是int(10),哪怕你建int(100),他最大还是10位这么多。
bigint
从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型数据(所有数字)。存储大小为 8 个字节。
unsigned 是(自己算吧)
所以建表的时候 只能是bigint(20),哪怕你建bigint(100),他最大还是20位这么多.
float
单精度 浮点数值
存储大小为 4 个字节。
double
双精度 浮点数值
存储大小为 8 个字节。
decimal
对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2
小数值 范围及储存大小依据M和D的值
ps: m是数字总位数,d是小数点后的位数。如果m 和 d被省略则会根据硬件条件允许限制来保存值。
2.时间和日期
date
储存大小 3字节
格式 YYYY-MM-DD
范围 1000-01-01/9999-12-31
用于日期值
time
储存大小 3字节
格式 HH:MM:SS
范围 '-838:59:59'/'838:59:59'
用于时间值或持续时间
year
储存大小 1字节
格式 YYYY
范围 1901/2155
用于年份值
datetime
储存大小 8字节
格式 YYYY-MM-DD HH:MM:SS
范围 1000-01-01 00:00:00/9999-12-31 23:59:59
用于混合日期和时间值
timestamp
储存大小 4字节
格式 YYYYMMDD HHMMSS
范围 1970-01-01 00:00:00/2038
结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
用于混合日期和时间值,时间戳
3.字符串类型
char
储存大小 0-255字节
用于定长字符串
varchar
储存大小 0-65535字节
用于变长字符串
tinyblob
储存大小 0-255字节
不超过 255 个字符的二进制字符串
tinytext
储存大小 0-255字节
短文本字符串
blob
储存大小 0-65535字节
二进制形式的长文本数据
text
储存大小 0-65535字节
长文本数据
mediumblob
储存大小 0-16 777 215字节
二进制形式的中等长度文本数据
mediumtext
储存大小 0-16 777 215字节
中等长度文本数据
longblob
储存大小 0-4 294 967 295字节
二进制形式的极大文本数据
longtext
储存大小 0-4 294 967 295字节
极大文本数据