MySQL基础(三):数据类型

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

数据类型

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

数值型数据

在这里插入图片描述

整数型数据

类型大小范围(有符号)范围(无符号)用途
TINYINT1字节[-128,127][0,255]小整数值
SMALLINT2字节[ − 2 15 -2^{15} 215, 2 15 − 1 2^{15}-1 2151][0, 2 16 − 1 2^{16}-1 2161]大整数值
MEDIUMINT3字节[ − 2 31 -2^{31} 231, 2 31 − 1 2^{31}-1 2311][0, 2 32 − 1 2^{32}-1 2321]大整数值
INT4字节[ − 2 63 , 2 63 − 1 -2^{63},2^{63}-1 263,2631][0, 2 64 − 1 2^{64}-1 2641]大整数值
BIGINT8字节极大整数值

浮点型数据

类型大小范围(有符号)范围(无符号)用途
FLOAT4字节单精度浮点数值(不精确)
DOUBLE8字节双精度浮点数值(不精确)
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个字符,两个字节表示长度
TINYTEXT0~255字节存储空间为值的长度+2个字节
TEXT0~65535字节存储空间为值的长度+2个字节
MEDIUMTEXT0~167772150字节存储空间为值的长度+3个字节
LONGEXT0~4294967295字节存储空间为值的长度+4个字节

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

二进制数据

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

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

日期型数据

在这里插入图片描述

类型大小范围格式用途
DATE3字节1000-01-01 / 9999-12-31YYYY-MM-DD日期值
TIME3字节-838:59:59 / 838:59:59HH:MM:SS时间值或持续时间
YEAR1字节1901 / 2155YYYY年份值
DATETIME8字节1000-01-01 00:00:00 / 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS时间和日期的混合值
TIMESTAMP4字节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即可
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值