MySQL(8.0)的数据类型介绍

MySQL(8.0)数据类型的总体介绍

MySQL的基本数据类型可以分为四类:
一、数值类型
数值类型包括:整数类型(精确值)、定点类型(精确值)、浮点类型(近似值),其中浮点类型无法表示精确的数值,如果涉及精确计算,需要用整数类型和定点类型。
二、日期和时间类型
三、字符串(字符和字节)类型
四、其他类型

我们主要经常接触的是前三类,这里就主要介绍前三类。

一、数值类型

1. 整数类型(精确值)

类型存储(字节)有符号数值取值范围无符号数值取值范围
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT4-2147483648 ~ 21474836470 ~ 4294967295
BIGINT8-2^63 ~ 2^63-10 ~ 2^64-1

整数类型可以精确表示数据,也可以精确计算。

2. 定点类型(精确值)

类型存储(字节)数值取值范围
DECIMAL依赖于DECIMAL(M, D)中的具体精度。具体的计算方法,可以参考:MySQL官方手册12.24.2 DECIMAL Data Type Characteristics依赖于DECIMAL(M, D)中的具体精度。例如: DECIMAL(5, 2)的取值范围为:-999.99 ~ 999.99。

DECIMAL(M, D),如果D省略则默认为0,如果M省略则默认为10。
M指的是最大位数(精度),取值范围为1~65;
D指的是小数位数(刻度),取值范围为0~30,且不能大于M。
定点类型可以精确表示数据,也可以精确计算,经常用于金融、会计等精确计算的场景。

3. 浮点类型(近似值)

FLOAT:单精度浮点型,占用4个字节。
DOUBLE:双精度浮点型,占用8个字节。
需要注意的是:浮点类型,不能精确进行数据表示和计算,如果涉及到精确计算,使用整数类型和定点类型。

二、日期和时间类型

类型存储(字节)范围格式
DATE3‘1000-01-01’ ~ ‘9999-12-31’‘YYYY-MM-DD’
TIME3‘-838:59:59’ ~ ‘838:59:59’‘hh:mm:ss’ 或 ‘hhh:mm:ss’
DATETIME8‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’‘YYYY-MM-DD hh:mm:ss’
TIMESTAMP4‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC‘YYYY-MM-DD hh:mm:ss’
YEAR11901 ~ 2155YYYY 或者 ‘YYYY’

向表中插入日期时间类型的数据时,YEAR类型可以直接插入YYYY形式(也可以带引号’YYYY’),其他类型都要带引号。

三、字符串(字符和字节)类型

类型大小解释
CHAR0 ~ 255 bytes定长字符串
VARCHAR0 ~ 65535 bytes变长字符串
TINYTEXT0 ~ 255 bytes短文本字符串
MEDIUMTEXT0 ~ 16 777 215 bytes中等长度文本数据
TEXT0 ~ 65535 bytes长文本数据
LONGTEXT0 ~ 4294967295 bytes极大文本数据
TINYBLOB0 ~ 255 bytes二进制形式的短长文本数据
MEDIUMBLOB0 ~ 16777215 bytes二进制形式的中等长度文本数据
BLOB0 ~ 65535 bytes二进制形式的长文本数据
LONGBLOB0 ~ 4294967295 bytes二进制形式的极大文本数据

字符串常用的是CHAR(n),VARCHAR(n),其中n指的是字符串的长度。

四、其他类型

其他还有:空间数据类型、JSON数据类型等。因为用的少,这里就不介绍了。

参考

  1. https://dev.mysql.com/doc/refman/8.0/en/
  2. https://www.runoob.com/mysql/mysql-data-types.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值