我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 数据库中的数据类型

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 数据库中的数据类型

MySQL 数据库中的数据类型


整数类型

标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩展支持了 TINYINT、MEDIUMINT 和 BIGINT

整数类型 字节数 无符号数的取值范围 有符号数的取值范围
TINYINT 1 (0,255) (-128,127)
SMALLINT 2 (0,65535) (-32768,32767)
MEDIUMINT 3 (0,16777215) (-8388608,8388607)
INT 4 (0,4294967295) (-2147483648,2147483647)
INTEGER 4 (0,4294967295) (-2147483648,2147483647)
BIGINT 8 (0,18446744073709551615) (-9223372036854775808,9223372036854775807)

浮点数类型和定点数类型

数据表中用浮点数类型和定点数类型来表示小数,浮点数类型包括单精度浮点数(FLOAT)和双精度浮点数(DOUBLE),定点数类型就是 DECIMAL

类型 字节数 负数的取值范围 非负数的取值范围
FLOAT 4 (-3.402823466E+38,-1.175494351E-38) 0,(1.175494351E-38,3.402 823466E+38)
DOUBLE 4 (-1.7976931348623157E+308,-2.2250738585072014E-308) 0,(2.2250738585072014E-308,1.7976931348623157 E+308)
DECIMAL(M,D) M+2 取决于 M 和 D 取决于 M 和 D

FLOAT 和 DOUBLE 类型存储数据时存储的是近似值,DECIMAL 存储的是字符串,因此提供了更高的精度。在金融系统中,表示货币金额的时候会优先考虑 DECIMAL 类型;在一般的价格体系,比如购物平台的商品标价,一般用 FLOAT 类型即可


日期和时间类型

每种日期与时间类型都有一个有效范围如果插入的值超过这个范围,系统就会报错,并将零值插入到数据库

类型 字节数 取值范围 零值
YEAR 1 1901 ~ 2155 0000
DATE 4 1000-01-01 ~ 9999-12-31 0000:00:00
TIME 3 -838:59:59 ~ 838:59:59 00-00-00
DATETIME 8 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 0000-00-00 00:00:00
TIMESTAMP 4 19700101080001 ~ 2038011911407 00000000000000

字符串类型

1. CHAR 和 VARCHAR 类型

CHAR 类型和 VARCHAR 类型都在创建表时指定了最大长度,CHAR 类型的长度是固定的,其长度可以是 0 ~ 255 的任意值。而 VARCHAR 类型的长度是可变的,其最大值可以取 0 ~ 65535 之间的任意值,VARCHAR 类型实际占用的空间为字符串的实际长度加一,这样可以有效节约系统的空间

2. TEXT 类型

TEXT 类型是一种特殊的字符串类型,各种 TEXT 类型的区别在于允许的长度和存储空间不同

类型 允许的长度 存储空间
TINYTEXT 0-255 值的长度+2个字节
TEXT 0-65535 值的长度+2个字节
MEDIUMTEXT 0-16772150 值的长度+3个字节
LONGTEXT 0-4294967295 值的长度+4个字节

3. ENUM 类型

ENUM 类型又称枚举类型,在创建表时,ENUM 类型的取值范围以列表的形式指定

属性名 ENUM("值1", "值2", ..., "值n")
  • 属性名:指字段的名称
  • 值n:表示列表中的第 n 个值

ENUM 类型的值只能取列表中的某一个元素,取值列表最多能有 65535 个值。列表中的每个值独有一个顺序排列的编号,MySQL 存入的是这个编号,而不是列表中的值

如果 ENUM 类型加上了 NOT NULL 属性,其默认值为取值列表的第一个元素。如果不加 NOT NULL 属性,ENUM 类型将允许插入 NULL,而且 NULL 为默认值

4. SET 类型

在创建表时,SET 类型的取值范围就以列表的形式指定了

属性名 SET("值1", "值2", ..., "值n")

参数和 ENUM 一致,SET 类型的值可以取列表中的一个或多个元素,取多个元素时,不同元素之间用逗号隔开,SET 类型的值最多只能是由 64 个元素构成的组合


二进制类型

二进制型是存储二进制数据的数据类型

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

1. BINARY 和 VARBINARY 类型

BINARY 类型的长度是固定的,不足最长长度的空间有 "" 补全

VARBINARY 类型的长度是可变的,在最大范围内使用多少就分配多少

2. BIT 类型

例如,BIT(4) 就是指定数据类型为 BIT 类型,长度为 4,若存储的数据是 0 ~ 15,因为变成二进制后的 15 的值为 1111,则其长度为 4。如果插入的值为 16,其二进制数为 10000,长度为 5 超过最大长度,则插入失败

3. BLOB 类型

BLOB 用来保存数据量很大的二进制数据,如图片等。BLOB 类型与 TEXT 类型类似,不同在于 BLOB 类型用于存储二进制数据,根据其二进制编码进行比较和排序,而 TEXT 类型是以文本模式进行比较和排序的


JSON 类型

在 MySQL 中,JSON 值是以字符串形式写入的,MySQL 会对字符串进行解析,如果不符合 JSON 格式,那么写入将失败

名称 描述
json_array() 创建json数组
json_array_append() 数组尾部追加元素
json_array_insert() 在数组的指定位置插入元素
json_extract() / -> / ->> 根据条件提取文档中的数据
json_contains(target,candidate[,path]) 查询文档中是否包含指定的元素
json_contains_path() 查询文档中是否包含指定的路径
json_depth() json文档的深度(元素最大嵌套层数)
json_insert() 向json文档插入值
json_keys() 提取json中的键值为json数组
json_length() json文档的长度(元素的个数)
json_merge() / json_merge_preserve() 将两个文档合并,保留重复键值
json_merge_patch() 将两个文档合并,替换重复键值
json_object() 创建json对象
json_pretty() 美化json格式
json_quote() / json_unquote() 加上/去掉json文档两边的双引号
json_remove() 删除文档中指定位置的元素
json_replace() 替换文档中指定位置的元素
json_search() 返回所有符合条件的路径集合
json_set() 给文档中指定位置的元素设置新值
json_storage_free() json文档更新操作后的剩余空间
json_storage_size() json文档占用的存储空间
json_table() 将json文档转换为表格
json_type() json文档类型(数组/对象/标量)
json_valid() json格式是否合法

Spatial 数据类型

Spatial 数据即空间数据,又称几何数据,表示物体的位置、形态、大小分布等各方面信息

MySQL 包含的空间数据类型有几何体(GEOMETRY)、点(POINT)、线(LINESTRING)和多边形(POLYGON),其中几何体可以存储任何类型的几何数据,而其他三种只能存储对应类型的几何数据


原文地址:https://www.cnblogs.com/Yee-Q/archive/2022/04/16/16153180.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 数据库中的数据类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 数据库中的数据类型

整数类型标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩展支持了 TINYINT、MEDIUMINT 和 BIGINT整数类型字节数无符号数的取值范围有符号数的取值范围TINYINT1(0,
MySQL 数据库中的数据类型
2020-06-26

【MySQL】数据库的数据类型

数据类型 一、数据类型分类二、数值类型1. tinyint2. bit3. 小数类型(1)float(2)decimal 三、字符串类型1. char2. varchar3. varchar 和 char 比较 四、日
【MySQL】数据库的数据类型
2023-12-23

MySQL数据库常见的数据类型

MySQL提供的数据类型包括数值类型(整数类型和小数类型)、字符串类型、日期类型、复合类型(复合类型包括enum类型和set类型)以及二进制类型 。1,整数类型:整数类型的数,默认情况下既可以表示正整数又可以表示负整数(此时称为有符号数)。如果只希望表示零和正
MySQL数据库常见的数据类型
2020-08-20

MySQL数据库的数据类型decimal详解

在MySQL数据库中,decimal数据类型用于存储精确的小数值。它比其他浮点类型(如float和double)更适合用于存储货币金额、利率等需要精确计算的数据。decimal数据类型的语法如下:DECIMAL(M, D)其中,M是总的数字
2023-09-14

mysql的数据库数据类型有哪些

MySQL数据库中常用的数据类型包括:整数类型:INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TEXT、BLOB日期
mysql的数据库数据类型有哪些
2024-05-08

MySQL数据库中查找最常用的数据类型

今天给大家分享几个关于MySQL数据类型的查询,下面,我们一起来看。
MySQL数据库2024-12-01

MySQL数据库中库的操作及数据类型有哪些

这篇文章主要介绍了MySQL数据库中库的操作及数据类型有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 数据库的操作注意:SQL 语句不区分大小写,以下将以小写的语句
2023-06-21

MySQL数据库:注释及数据类型

注释# 单行注释-- 单行注释(注意:两个但横线后面必须加空格)数据类型1.整形​ tinyint、smallint、mediumint、int、bigint​ 小整数值 大整数值 大整数值 大整数值 极大整数值2.浮点型​ float、d
2015-03-21

MySQL数据库~~~~初识、基础数据类型

一 数据库初识1.1 什么是数据库数据库(DataBase,简称DB),简而言之可视为电子化的文件柜----存储电子文件的处所,用户可以对文件中的数据运行新增,截取,更新,删除等操作. 所谓数据库是以一定方式储存在一起,能予多个用户 共享,具有尽可能小的冗余度
2022-04-19

数据库学习之六:mysql数据类型

六、mysql数据类型1、课程大纲• 数据类型介绍• 数据类型设置• 列属性• 数据类型的字符集用法• 选择适当的数据类型2、数据类型介绍• 四种主要类别:数值类型字符类型时间类型二进制类型• 数据类型的 ABC 要素:Appropriate(适当)Brief
数据库学习之六:mysql数据类型
2016-06-23

MySQL数据类型 - JSON数据类型 (4)

JSON值的比较和排序JSON值可以使用=,=,,!=,和运算符进行比较。JSON值尚不支持以下比较运算符和函数:●BETWEEN●IN()●GREATEST()●LEAST()要想使用上面这些列出的比较运算符和函数,一个解决方法是将JSON值转换为原生MyS

	MySQL数据类型 - JSON数据类型 (4)
2016-08-23

编程热搜

目录