MySQL - 数据类型

MySQL - 数据类型 首页 / MySQL入门教程 / MySQL - 数据类型

数据类型指定特定类型的数据,如整数,浮点,布尔值等。它还标识了该类型的可能值,可以在该类型上执行的操作,以及存储该类型的值的方式。在MySQL中,每个数据库表都有许多列,并包含每个列的特定数据类型。

数字类型

MySQL具有所有必需的SQL数字数据类型。这些数据类型可以包括精确的数字数据类型(例如,整数,十进制,数字等),以及近似数字数据类型(例如,浮点,真实和双精度)。它还支持位数据类型以存储位值。在MySQL中,数字数据类型是分为两种类型的类别,除了位数据类型之外的有符号或无符号。

数据类型描述
tinyint有符号范围为-128至127,无符号允许范围为0到255。
smallint有符号允许范围为-32768至32767,无符号允许范围为0到65535。
mediumint有符号允许范围为-8388608至8388607,无符号允许范围为0到16777215。
int有符号充许范围为-2147483648至2147483647,无符号许范围为0到4294967295。
bigint有符号允许范围为-9223372036854775808至9223372036854775807,无符号允许范围为0到1844674407370955161615。
float(m,d)可以定义显示长度(m)和小数(d),默认为10,2,其中2是小数的数量,10是数字(包括小数)的总数。
double(m,d)可以定义显示长度(m)和小数(d)的数量,默认为16,4,其中4个是小数的数量。需要8个字节的存储。
decimal(m,d)定义显示长度(m)和小数(d)的数量是必需的。
bit(m)它用于将位值存储到表列中。这里,m确定每个值的比特数为1到64。
bool仅用于true和false条件。它将数值1视为true,0为false。
boolean它类似于bool。

日期和时间类型

此数据类型用于表示时间值,例如日期,时间,日期时间,时间戳和年。每个时间类型包含值,包括零。当无涯教程插入无效值时,使用零值。

下表说明了在MySQL中支持的所有日期和时间数据类型:

数据类型最大值说明
YEAR[(2 | 4)]年份值为2位数或4位数。默认值为4位数,存储需要1个字节。
DATE值范围从'1000-01-01'到'9999-12-31'。显示为"yyyy-mm-dd",存储需要3个字节。
TIME值范围从'-838:59:59'到'838:59:59'。显示为'hh:mm:ss'。存储需要3个字节加上分数秒。
DATETIME值范围从'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。显示为"yyyy-mm-dd hh:mm:ss"。存储需要5个字节加上分数秒。
TIMESTAMP(m)值范围从'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'TC。显示为"yyyy-mm-dd hh:mm:ss"。存储需要4个字节加上分数秒。

字符串类型

字符串数据类型用于保持纯文本和二进制数据,例如,文件,图像等。MySQL可以基于正则表达式等的模式匹配来执行字符串值的搜索和比较。

下表说明了在MySQL中支持的所有字符串数据类型:

数据类型最大值说明
CHAR(size)最大255个字符。这里大小是存储的字符数。固定长度字符串。空间填充到相同的大小字符
VARCHAR(size)最大255个字符。此处的大小是要存储的字符数,可变长度字符串。
TINYTEXT(size)最大255个字符。
此处大小是存储的字符数。
TEXT(size)最大65,535个字符。此处大小是存储的字符数。
MEDIUMTEXT(size)最大16,777,215个字符。此处大小是存储的字符数。
LONGTEXT(size)最大4gb或4,294,967,295字符。此处大小是存储的字符数。
BINARY(size)最大255个字符。此处的大小是要存储的二进制字符数。固定长度字符串。空间填充到相同的大小字符。 
VARBINARY(size)最大255个字符。此处的大小是要存储的字符数。可变长度串。
ENUM需要1或2个字节,取决于枚举值的数量。枚举最多可具有65,535个值。它使用数字索引(1,2,3 ...)来表示字符串值。
SET需要1,2,3,4或8个字节,取决于设置成员的数量。它可以存储最大限度的64个成员。它可以保存零个或多个,或任何数量的字符串值。必须从表创建期间指定的预定义值列表中选择它们。

大对象类型

MySQL中的Blob是一个可以包含可变数据量的数据类型。它们是基于最大值的四种不同类型的类别。

下表显示了在MySQL中支持的所有二进制大量对象数据类型:

数据类型语法最大尺寸
tinyblob最大为255字节。
blob(size)最大为65,535个字节。
mediumblob最大为16,777,215字节。
longblob最大为4gb或4,294,967,295字节。

特殊数据类型

它是一种特殊的数据类型,用于保持各种几何和地理值。它对应于OpenGIS类。下表显示了MySQL支持的所有空间类型:

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-data-types.html

来源:LearnFk无涯教程网

数据类型描述
GEOMETRY它是可以保存具有位置的任何类型的空间值的点或聚合。
POINT几何中的点表示单个位置。它存储x,y坐标的值。
POLYGON是一个平面的表面,表示多种几何形状。它可以由零或更多内部边界和仅一个外边界来定义。
LINESTRING它是具有一个或多个点值的曲线。如果它只包含两点,它始终代表行。
GEOMETRYCOLLECTION它是一种几何图形,具有零或更多几何值的集合。
MULTILINESTRING它是一个多曲线几何,具有Linestring值的集合。
MULTIPOINT它是多点元素的集合。在这里,这一点不能bE以任何方式连接或订购。
MULTIPLYGON它是一个多面对对象,表示多边形元素的集合。它是一种二维几何形状。

JSON数据类型

MySQL为来自V5.7.8版本的本机JSON数据类型提供支持。此数据类型允许无涯教程快速有效地存储和访问JSON文件。

JSON数据类型在String列中存储JSON格式字符串的以下优点:

  1. 它提供了JSON文档的自动验证。如果无涯教程在JSON列中存储无效文档,则会产生错误。
  2. 它提供了最佳存储格式。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开发一款iOS App -〔朱德权〕

Web协议详解与抓包实战 -〔陶辉〕

TypeScript开发实战 -〔梁宵〕

Vim 实用技巧必知必会 -〔吴咏炜〕

大厂晋升指南 -〔李运华〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

流程型组织15讲 -〔蒋伟良〕

说透数字化转型 -〔付晓岩〕

深入拆解消息队列47讲 -〔许文强〕

好记忆不如烂笔头。留下您的足迹吧 :)