整数类型

类型 大小/字节
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8

如果超出类型范围的操作,会发生【 "Out of range" 】错误提示。

在类型名称后面的小括号内指定显示宽度:
int(5)    /* 表示当数值宽度小于 5 位的时候在数字前面填满宽度 */
  • 如果不显示指定宽度则默认为 int(11)
  • 一般配合 zerofill 使用,用“0”填充的意思,数字位数不够的空间用字符“0”填满
  • 不会对插入的数据有任何影响,还是按照类型的实际精度进行保存

小数类型

类型 大小/字节
float 4
double 8
decimal

浮点数和定点数都可以用类型名称后加“(M,D)”的方式来进行表示
【 M 】位数字(整数位+小数位)【 D 】位位于小数点后面。

  • MySQL 保存值时进行四舍五入

float(7,4)列内插入 999.00009,近似结果是 999.0001

  • float、double都不够精确
  • decimal是高精度类型
  • decimal 在不指定精度时,默认的整数位为 10,默认的小数位为 0

字符串类型

类型 允许长度
char(M) M字节
varchar(M) M字节
tinytext
text
mediumtext
longtext
  • char(M) :定长字符,0~255个字节
  • varchar(M):变长字符,MySQL5开始支持65535个字节

定长与变长的区别:
图片描述
字符串使用【 ' ' 】单引号括起来


日期类型

类型 字节
date 4
datetime 8
timestamp 4
time 3
year 1

图片描述

二进制类型

类型 允许长度
tinyblob 可变长二进制数据,最多2^8-1字节
blob 可变长二进制数据,最多2^16-1字节
mediumblob 可变长二进制数据,最多2^24-1字节
longblob 可变长二进制数据,最多2^32-1字节
varbinary(M)
binary(M)
bin(M) M位二进制数据,M最大值64

开发中,一般存储二进制文件的保存路径
bin:一般存储0或者1


已注销
35 声望8 粉丝