Save Load
GitHub 切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页

My SQL 数据类型

MySql 数据类型

一、MySQL的数据类型 主要包括以下五大类:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection 等。

image

1、整数

类型 说明 存储需求(取值范围)
tinyin 很小整数 1字节([0~255]、[-128~127]);255 = 2^8-1;127=2^7-1
smallint 小整数 2字节([0~65535]、[-32768~32767]);65535 = 2^16-1
mediumint 中等 3字节([0~16777215]);16777215 = 2^24-1
int(intege) 普通 4字节([0~4294967295]);4294967295 = 2^32-1
bigint 大整数 8字节([0~18446744073709551615]);18446744073709551615 = 2^64-1

注: 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。

2、浮点数&定点数

类型 说明 存储需求(取值范围)
float(m,d) 单精度浮点数 4字节(8位精度) m总个数,d小数位
double(m,d) 双精度浮点数 8字节(16位精度) m总个数,d小数位
decimal(m,d) 压缩的“严格”定点数 m<65 ,d<30

注: 定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。

3、时间/日期类型

数据类型 格式
date YYYY-MM-DD
time HH:MM:SS
year YYYY
datetime YYYY-MM-DD HH:MM:SS
timestamp YYYYMMDD HHMMSS

注: 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

4、字符串(char,varchar,_text)

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 固定长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符