MySQL获取字段长度

发表于: DB/ES | 作者: | 日期: 2024/8/05 08:08

最近有一批 json 文件需要导入到 MySQL 中,因为 json 文件过大,无法准确的评估字段长度,所以决定在 MySQL 中建表的时候把字段类型都设置为了 text,导入成功之后再评估一下长度,然后修改字段类型。

通过以下语句获取指定列的最大长度

SELECT MAX(LENGTH(ci)) FROM meta_ci;

说明:

length()函数

以字节为单位,返回字符串的长度。如果字段编码为 GBK,那么一个汉字占用 2 个字节,如果字段编码为 UTF-8,那么一个汉字占用 3 个字节。

max()函数

可以获取指定列的最大值。

补充知识

char和varchar的存储范围:

char: 是定长格式的,长度范围是0~255 。

varchar: 这个类型在5.0.3以下的版本中的最大长度限制为 255,而在5.0.3及之后的版本中,varchar数据类型的长度支持到了 65535,也就是说可以存放65532 个字节的数据(起始位和结束位占去了3个字节)。

text类型的存储范围:

TINYTEXT:最大长度为255个byte;

TEXT:最大长度为65535个byte,约为64KB

MEDIUMTEXT:最大长度为16,777,215个byte,约为16MB

LONGTEXT:最大长度为4,294,967,295个byte,约为4GB

: https://blog.darkmi.com/2024/08/05/4667.html

本文相关评论 - 1条评论都没有呢
Post a comment now » 本文目前不可评论

No comments yet.

Sorry, the comment form is closed at this time.