【TIDB】TIDB数据类型详解

article/2025/9/21 1:29:22

TIDB的数据类型

文章目录

    • TIDB的数据类型
      • 1 数值类型
      • 2 日期和时间类型
      • 3 字符串类型
      • 3 SET 类型
      • 4 JSON类型

1 数值类型

1 整数类型
在这里插入图片描述
2 浮点类型
在这里插入图片描述
3 定点类型
decamal(20,6)

2 日期和时间类型

在这里插入图片描述

3 字符串类型

1 CHAR 类型
定长字符串。CHAR 列的长度固定为创建表时声明的长度。当保存 CHAR 值时,不足固定长度的字符串在后面填充空格,以达到指定的长度。M 表示列长度(字符的个数,不是字节的个数)。长度可以为从 0 到 255 的任何值。
VARCHAR 类型
变长字符串。M 表示最大列长度(字符的最大个数)。VARCHAR 的空间占用大小不得超过 65535 字节。在选择 VARCHAR 长度时,应当根据最长的行的大小和使用的字符集确定。
对于不同的字符集,单个字符所占用的空间可能有所不同。以下表格是各个字符集下单个字符占用的字节数,以及 VARCHAR 列长度的取值范围:
在这里插入图片描述
2 TEXT类型
文本串。M 表示最大列长度(字符的最大个数),范围是 0 到 65535。在选择 TEXT 长度时,应当根据最长的行的大小和使用的字符集确定。
TINYTEXT 类型
类似于 TEXT,区别在于最大列长度为 255。
MEDIUMTEXT 类型
类似于 TEXT,区别在于最大列长度为 16,777,215。
LONGTEXT 类型
类似于 TEXT,区别在于最大列长度为 4,294,967,295。
BINARY 类型
类似于 CHAR,区别在于 BINARY 存储的是二进制字符串。
VARBINARY 类型
类似于 VARCHAR,区别在于 VARBINARY 存储的是二进制字符串。
BLOB 类型
二进制大文件。M 表示最大列长度,单位是字节,范围是 0 到 65535。
TINYBLOB 类型
类似于 BLOB,区别在于最大列长度为 255。
MEDIUMBLOB 类型
类似于 BLOB,区别在于最大列长度为 16777215。
LONGBLOB 类型
类似于 BLOB,区别在于最大列长度为 4,294,967,295。
ENUM 类型
枚举类型是一个字符串,它只能有一个值的字符串对象。其值必须是从一个固定集合中选取,这个固定集合在创建表的时候定义,语法是:

ENUM('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name]

3 SET 类型

集合类型是一个包含零个或多个值的字符串,其中每个值必须是从一个固定集合中选取,这个固定集合在创建表的时候定义,语法是:

SET('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name]

4 JSON类型

警告:
当前该功能为实验特性,不建议在生产环境中使用。
JSON 类型可以存储 JSON 这种半结构化的数据,相比于直接将 JSON 存储为字符串,它的好处在于:
使用 Binary 格式进行序列化,对 JSON 的内部字段的查询、解析加快;
多了 JSON 合法性验证的步骤,只有合法的 JSON 文档才可以放入这个字段中;
JSON 字段本身上,并不能创建索引。相反,可以对 JSON 文档中的某个子字段创建索引。例如:

CREATE TABLE city (id INT PRIMARY KEY,    detail JSON,population INT AS (JSON_EXTRACT(detail, '$.population')),    index index_name (population)
);
INSERT INTO city (id,detail) VALUES (1, '{"name": "Beijing", "population": 100}'
);
SELECT id FROM city WHERE population >= 100;

http://chatgpt.dhexx.cn/article/nxhrrDOJ.shtml

相关文章

TiDB 的现在和未来

本文根据黄东旭在 PingCAP D 轮融资线上发布会的演讲实录进行整理。 TiDB 的现在和未来 大家好,我是黄东旭,是 PingCAP 的联合创始人和 CTO,这是 PingCAP 成立以来的第一次发布会,我想跟大家简单聊聊 TiDB 在产品和技术上的更新。…

TiDB Cloud

TiDB Cloud 为什么选择TiDB 分布式数据库-多租户混合工作负载-在同一个数据库中 事务型:基于行的数据分析型:基于列的数据 弹性比例: 缩小-减少节点横向扩展-添加节点 基于“RAFT”的高可用性 每个数据段的3个可用区进行复制 多租户 什么…

TiDB整体架构详解、TiDB核心特性——水平扩展、高可用

TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP 需求的 TiSpark 组件和简化云上部署管理的 TiDB Operator 组件。 架构图解 TiDB Server TiDB Server 负责接收 SQL 请求&#xff0c…

TiDB(2):TiDB架构特性

1 TiDB 整体架构 TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP 需求的 TiSpark 组件和简化云上部署管理的 TiDB Operator 组件。 架构图解 1.1 TiDB Server TiDB Server 负责接收…

TiDB使用总结

使用场景 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理(OLTP)与在线分析处理 (HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协…

猿创征文|分布式国产数据库 TiDB 从入门到实战

写在前面 本文讲解的是目前欢迎程度最高分布式国产数据库 TiDB,详细讲解了 TiDB 的由来、架构、SQL 基本操作、SpringBoot 整合 TiDB 等内容。 目录 写在前面一、概述二、与 MySQL 兼容性对比三、安装使用四、SQL 基本操作4.1、库操作4.2、表操作4.3、索引操作4.4、…

猿创征文 | 国产数据库TiDB架构特性

前言 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云…

数据库必知必会:TiDB(12)TiDB连接管理

数据库必知必会:TiDB(12)TiDB连接管理 TiDB连接管理TiDB的连接特性连接TiDBMySQL命令行客户端图形界面客户端连接其他连接方式 写在后面 TiDB连接管理 TiDB的连接特性 TiDB Server主要负责接收用户的会话请求,接收SQL并负责SQL语…

TiDB 数据库的存储

本文主要介绍 TiKV 的一些设计思想和关键概念。 Key-Value Pairs(键值对) 作为保存数据的系统,首先要决定的是数据的存储模型,也就是数据以什么样的形式保存下来。TiKV 的选择是 Key-Value 模型,并且提供有序遍历方法…

TiDB-新一代数据库入门介绍

由于目前的项目计划把MySQL换成TiDB,所以特意来了解下TiDB。其实也不能说换,由于TiDB和MySQL几乎完全兼容,所以我们的程序可以没有任何改动就完成数据库从MySQL到TiDB的转换。接下来了解一下TiDB,为将来的技术选型做个准备。 一、…

TIDB数据库特性总结

文章目录 前言一、TIDB数据库介绍1.1数据管理技术发展阶段1.2 数据库分类1.2 如何学习TiDB 二、TIDB特点和使用场景2.1.MySQL存在问题2.2.TiDB数据库特点2.3TIDB架构特性2.4 TiDB 核心特性2.4.1水平扩展性2.4.2高可用性 2.5 TIDB的存储和计算能力2.6 TIDB特性总结 3 TIDB部署总…

TIDB整体架构

TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP 需求的 TiSpark 组件和简化云上部署管理的 TiDB Operator 组件。 架构图解 TiDB Server TiDB Server 负责接收 SQL 请求,处…

TIDB简单了解

官方文档 TIDB HTAPTIDB HATP 基础概念: TIDB应用场景(优势)体系结构TIDB的管理及调度-PDTIDB链接层和SQL层-TIDB Server存储节点TIKVKVRocksDBRaft协议主副本选举日志复制 RegionMVCCACID事务 TiFlash HTAP 先为大家推荐一篇文章 https://…

TiDB数据库架构概述

目录 TiDB体系架构 TiDB Server TiKV(行存) PD (Placement Driver) TiFlash(列存) 例题 TiDB体系架构 TiDB Server TiDB Server是无状态的 无状态,指数据不在TiDB中落地,即TiD…

TIDB介绍(二)

参考文章:专栏 - 国产化浪潮下TiDB解决的痛点问题 | TiDB 社区 1 前言 随着国内互联网企业的快速发展,传统的oracle数据库架构在成本和扩展性上已不能满足要求,更多的企业将目光转向了开源的MySQL数据库,由于MySQL本身是一个…

分布式数据库——TiDB的介绍和基本原理

1、TiDB 介绍 1.1 TiDB 介绍 1.1.1 TiDB 是什么? TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景(on-line trans…

15分钟了解TiDB

由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺…

TIDB简介及基础架构

1. 什么是TIDB TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 1.1 什么是NewSQL SQL,传统关…

(一)TiDB简介

TiDB是PingCAP公司自主设计、研发的开放源分布式关系型数据库(NewSQL),是一个款同时支持在线事务处理与在线分析处理(Hybird Transactional and Analytical Processing,HTAP)的融合型分布式数据库产品。 目标是为用户提供一站式OLTP(Online T…

TiDB原理解析

TiDB是PingCAP公司设计的开源分布式NewSQL数据库。由于它兼容MySQL协议,并支持绝大多数SQL功能(比如joins,subqueries, transaction等)。业务能够直接通过MySQL connector去使用它来替换MySQL。TiDB适合场景: 数据量大…