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字节

极大文本数据

原文地址:https://www.cnblogs.com/zhangxiaoxia/p/12522592.html