> 文章列表 > 【MySQL】数据类型

【MySQL】数据类型

【MySQL】数据类型

目录

一、数据类型分类

二、数值类型

bit:

 tinyint:

​编辑

 smallint:

 memdiumint:

int:

bigint:

float:

​编辑

decimal:

三、文本类型

char:

字符的概念:

varchar:

 

四、时间类型

date:

 datetime×tamp:​编辑

 五、string类型

 enum:

 具体使用:​编辑

​编辑

 set:

使用方法: 

 查询语句的使用:​编辑


 

数据类型是一种约束,可以对插入的数据进行检查,如果不符合约束,那么就会终止。

一、数据类型分类

        数据类型分为四大类:数值类型、文本类型、时间类型、string类型。

二、数值类型

        有bit类型、int(tinyint, smallint, memdiumint, int, bigint)类型、float(decimal, double)类型、bool类型。

bit:

bit后跟的数字表示这个数据所占用的位数,显示时以ascii码进行显示。如果位数多于设定位数,则发生截断。

 tinyint:

占有1个字节相当于c语言学过的char类型。范围是-128 ~ 127,无符号是0 ~ 255。

超过范围会进行告警。 

 smallint:

占有2个字节。两个字节16位,所以能表示的最大范围是-2^15+1 ~2^15 / 0 ~ 2^16。

 

越界同样报警,存储时按照最大值进行存储。 

 

 memdiumint:

占用3个字节,三个字节是24位,取值范围在-2^23+1 ~ 2^23 / 0 ~ 2^24。

int:

占用4个字节,四个字节是32位,取值范围在-2^31+1 ~ 2^31 / 0 ~ 2^32。

bigint:

占用8个字节,8个字节是64位,取值范围在-2^63+1 ~ 2^63 / 0 - 2^64。

float:

小数类型,形式为float(m,n),m是数字显示的位数,n是小数点后的位数(精度)。且遵守四舍五入的规则。

比如float(4,3)的取值范围就在±9.999之间。四舍五入的规则是用在第n+1位上的。

 

decimal:

规则同float一样,但是精度要比float高。

 

三、文本类型

分为char、varchar、blob、text。

char:

定长字符型,格式为:char(L),L为文本所占字符数。如果没有占完分配的空间,会用空格进行补齐强制占完。最大一个char可以用255个字符的空间。

字符的概念:

字符不同于c语言阶段学习的字符和字节概念。

 

 


在mysql中字符不同于字节,一个字符表示我们看到的一个符号就是一个字符,所以比如char(3)就可以放3个汉字。

 

由c语言代码测试可以知道一个汉字的字节数是3,但是在我们创建的char(3)中,存放了三个汉字,一共9个字节。

varchar:

动态长度的字符串类型,语法格式为:varchar(L),L是当前字符串的字符长度。最大一个varchar可以用65535个字节。

 

 

四、时间类型

有三种:date(日期,只包含年月日),datatime(日期时间,包含日期和时间),timestamp(时间戳)。

date:

 

 


 datetime&timestamp:

 五、string类型

包含两种类型,enum(枚举)和set(集合)。

 enum:

枚举类型,与c语言不同的是MySQL中的enum从1开始进行默认赋值。

 

 具体使用:

大小写会自动纠正 

 enum只能支持单个数据的插入。

 set:

set是一种集合类型,可以插入set中的多个值,也和enum一样从1开始进行赋值。

使用方法: 

 

 

 

 进行数字插入时,是按照二进制序列的规则插入。

如:5 -- 0101 也就是第一位和第三位的值会被插入。(从右向左)


 查询语句的使用: