MySQL基础(三):数据类型

  • 本博客是《MySQL基础》系列博客的第三部分,主要介绍MySQL中的数据类型
  • 本博客既为方便自己查看复习而作,亦为你而作,望能有所裨益
  • 学习交流请联系[email protected]

数据类型

  • 每门语言都有属于自己的数据类型,大同小异罢了。
  • 如下图红色方框区域,就是数据类型选择及展示之处。
    在这里插入图片描述
  • 下面我们就逐一介绍下一些常用的数据类型。

数值型数据

在这里插入图片描述

整数型数据

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1字节 [-128,127] [0,255] 小整数值
SMALLINT 2字节 [-32768,32767] [0,65535] 大整数值
MEDIUMINT 3字节 [-8388608,8388607] [0,4294967295] 大整数值
INT 4字节 [-2147483648,2147483647] [0,4294967295] 大整数值
BIGINT 8字节 极大整数值

浮点型数据

类型 大小 范围(有符号) 范围(无符号) 用途
FLOAT 4字节 单精度浮点数值(不精确)
DOUBLE 8字节 双精度浮点数值(不精确
DECIMAL 对DECIMAL(M,D)而言,字节数=max(M,D)+2 依赖于M和D的值 依赖于M和D的值 浮点数值(精确)

:DECIMAL(M,D)中M表示有多少位数字,D表示其中有多少位小数

字符型数据

在这里插入图片描述

字符集和字符序

我们之前在创建数据库的时候曾经提到要选择字符集及校验集,在介绍字符型数据时,我们有必要先简单介绍一下这个概念:

  • 字符集:character set,是编码和字符符号的映射集合
  • 字符序:collation,即排序规则,是用于比较字符集中字符的规则集
    在这里插入图片描述
    :如果想要区分大小写,可以选择后缀为cs或bin的字符序。
show character set; -- 显示MySQL所支持的字符集及校验集
show variables like '%character%'; -- 显示当前配置中已生效的字符集及校验集
-- 我们平常遇到的乱码情况产生的原因就是字符集转化过程中其设置不一致

在这里插入图片描述
以下是MySQL中字符集的转换流程(图片来源:《MySQL开心入门》,侵删)
在这里插入图片描述

字符类型

类型 范围 简介
CHAR(n) n表示字符数,最多255个字符 定长字符,不同编码时其字节占用数不同——latin:1个字符1个字节;gbk:1个字符2个字节;utf8:1个字符3个字节
VARCHAR(n) n表示字符数,最多65535个字符 变长字符,会多一个字节用于表示长度:小于等于255个字符,一个字节表示长度;大于255个字符,两个字节表示长度
TINYTEXT 0~255字节 存储空间为值的长度+2个字节
TEXT 0~65535字节 存储空间为值的长度+2个字节
MEDIUMTEXT 0~167772150字节 存储空间为值的长度+3个字节
LONGEXT 0~4294967295字节 存储空间为值的长度+4个字节

:MySQL中每一行的所有数据合起来的字符长度不能超过65535

二进制数据

顾名思义,二进制类型就是用来保存二进制数据的数据类型。
在这里插入图片描述

类型 简介
BINARY(M) 字节数为M,允许长度为0~M的定长二进制字符串
VARBINARY(M) 允许长度为0~M的变长二进制字符串,字节数为值的长度加1
BLOB 可变长二进制数据,最多 21612^{16}-1 个字节
TINYBLOB 可变长二进制数据,最多255个字节
MEDIUMBLOB 可变长二进制数据,最多 22412^{24}-1 个字节
LONGBLOB 可变长二进制数据,最多 23212^{32}-1 个字节
BIT(M) M位二进制数据,M最大值为64

日期型数据

在这里插入图片描述

类型 大小 范围 格式 用途
DATE 3字节 1000-01-01 / 9999-12-31 YYYY-MM-DD 日期值
TIME 3字节 -838:59:59 / 838:59:59 HH:MM:SS 时间值或持续时间
YEAR 1字节 1901 / 2155 YYYY 年份值
DATETIME 8字节 1000-01-01 00:00:00 / 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 时间和日期的混合值
TIMESTAMP 4字节 1970-01-01 00:00:00 / 2038-1-19 11:14:07(北京时间) YYYY-MM-DD HH:MM:SS 时间戳

集合型数据

MySQL中的集合类型主要有两个:enum 和 set

类型 简介
enum(‘选项一’,‘选项二’,···) 字符串对象,单选列表其值从允许值列表中选择,只能选一个值,最多可包含65535个不同的元素
set(‘选项一’,‘选项二’,···) 字符串对象,多选列表,可以选零个或多个值,最多可包含64个不同的成员

:集合型数据设置好后,在如下图的原始界面并不能直接选择
在这里插入图片描述
此时需要跳转到表单界面进行相关操作,选择完成后Apply即可
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章