MySQL支持的数据类型总结

数值类型

MySQL支持的数据类型总结_第1张图片

 

一.说到底也就是四种类型:整数,浮点数,定点数,位类型

 

1.第一种:整数类型(唯一一个区分符号),如果是负数的话肯定选有符号的。

无符号的范围更加广,从0开始。有符号的范围小一些,从负数到正数都有涉猎。

 

字节变化:1 2 3 4 8

 

Int类型的默认为int(11),即有11位,正常情况下是不显示的,当在字段类型int后面加上zerofill才会显示,不够的位数用0来补全。

 

当int(4)时,输入的位789797,超过了4位,但是不会影响,还是按照789797来显示。

 

Int类型中的无符号属性unsigned,当添加了zerofill时候,默认位unsigned属性

MySQL支持的数据类型总结_第2张图片

 

 

 

记忆:最小的几乎都是前面带tiny的

Tinyint---smallint----mediumint----int------bigint

 

2.第二种:浮点数(float 4字节和double 8字节)

其实就是小数

Float(10,2):代表这小数位+整数位共10位,其中小数位2位

例如:5959.44(没有必要整数位一定是8位)

 

  1. 第三种:定点数(decimal)所占字节:M+2(M为整数位+小数位)

以字符串的形式存储,应用在高精度的情况下。例如货币金额等等

定点数和浮点数的区别:

总结:

浮点数没有精度限制,则数据按照实际显示。

如果有精度,则按照精度走,四舍五入。

定点数没有精度,默认按照decimal(10,0)来,如果有精度,按照精度走,如果数据超出了精度,则会报警告。

 

 

4.第四种;位类型

Bit(M):M代表二进制转化后看到的位数,不写默认位1

Bin():二进制   hex():十六进制

想看bit:select bin(字段名)/ hex(字段名) from bai;

 

 

日期类型

时间:datetime 和timestamp

范围而言:datetime更大,范围可以到9999

时间精度:datetime只可以更新中国时区,即东8区,而timestamp却可以修改时区,同时查看当前时间为新时区的时间

 

timestamp输入NULL时,会默认输入当前的时间,如果超出范围则全为0

MySQL支持的数据类型总结_第3张图片

字符串类型

1.MySQL支持的数据类型总结_第4张图片

插入用的是SET

 

  1. ENUM类型(枚举类型)

枚举类型:例如一星期有七天,不值得认为他是一个字符,将(星期一,星期二......星期日)认为是一个整体,里面有7个成员。可以不分大小写。

 

ENUM 中文名称叫枚举类型,它的值范围需要在创建表时通过枚举方式显式指定,对1~255 个成员的枚举需要1 个字节存储;对于255~65535 个成员,需要2 个字节存储。最多允许有65535 个成员。而且插入成员的时候每次只可以插入一个成员。

 

  1. SET类型

SET类型随着存储成员的增加所占的字节数也快速变化,字节数在64个成员时达到8个字节。SET类型最多64个成员,而EUNM却可以有65535个成员。

 

区别:

字节数多

成员数少

每次插入的成员可以为多个

 

你可能感兴趣的:(MySQL支持的数据类型总结)