常见的数据类型


文章目录


数值型

整型:

小数:定点数 | 浮点数

字符型:

较短的文本: char , varchar

较长的文本: text,blob(较长的二进制数据)

日期型:

一.整型

分类

tinyintsmallintmediumintint/integerbigint
12348

特点:

①如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字

②如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值

③如果不设置长度,会有默认长度

长度代表了显示的最大宽度,如果不够会用0在左边填充,但是必须搭配ZEROFILL使用

二.小数

1.浮点型

float(M,D)

double(M,D)

2.定点型

dec(M,D)

decimal(M,D)

特点

M : 整数部位+小数部位

D : 小数部位

如果超过范围,则插入临界值

M和D都可以省略,如果是decimal,则M默认是10,D默认是0

如果是float和double,则会根据插入的数值的精度来决定精度

定点型的精度较高,如果要求插入数据的精度较高如货币运算等则考虑使用

原则:所选择的类型越简单越好,能保存数值的类型越小越好

三.字符型

较短的文本※

char

varchar

较长的文本

text

blob(较大的二进制)

其他

binary和varbinary 用于保存较短的二进制

enum 用于保存枚举

set 用于保存集合

特点

char和varchar的区别


写法M的意思特点空间耗费效率
charchar(M)最大的字符数,可以省略,默认为1固定长度的字符比较耗费
varcharvarchar(M)最大的字符数,不可省略可变长度的字符比较节省

比如说性别,一般使用char因为字符串一般是固定的,但是如果是姓名,姓名长度未知,使用varchar

四.日期型

分类

date 只保存日期

time 只保存时间

year 只保存年

datetime 保存日期+时间

timestamp 保存日期+时间

datetime和timestamp比较


字节范围时区等影响
datetime81000-9999
timestamp41970-2038