mysql decimal最大长度

您所在的位置:网站首页 decimal的长度为多少 mysql decimal最大长度

mysql decimal最大长度

2023-08-08 02:24| 来源: 网络整理| 查看: 265

前言

我们在数据库建表时,经常会困扰某个字段应该选择什么数据类型,以及填写什么长度。选择数据类型方面一般不会有什么大问题,但是在填写对应的长度的时候,很多人就会困扰,对应长度填写的数字到底是什么含义,以及会影响到哪些东西。笔者在翻阅网上的相关文章时,发现一大半文章写的都是错的,主要的问题在于搞混了“字符”和“字节”这两者的含义,甚至有的人觉得这就是一回事。如果对字符和字节不理解的读者,可以先阅读《一文搞懂字符和字节的含义》。

本文我们通过实例来介绍MySQL的数据类型中长度的含义,读完本文能够让你在数据库建表的时候不再困惑。

字符串类型

常用的字符串类型的数据类型有 CHAR 和 VARCHAR 两种,两者后面都需要跟上一个数字表示长度,例如

CHAR(10) VARCHAR(10)

CHAR(n) 和 VARCHAR(n) 两者中的 n 含义均为该字段最大可容纳的字符数。(注意早期的版本中,n指的是字节数,你也不需要关注是哪些版本,因为是十多年前的版本了,估计一般人也用不到)。

占用空间

CHAR(n) 和 VARCHAR(n) 字段值的占用空间不是固定的,而是由实际存入的内容决定的,但在细节上两者有一些不同。我们均以 n=4 为例。

对于 CHAR(4) 表示固定容纳4个字符,当少于4个字符时,会使用空格填充空缺的部分,使其达到4个字符。如果超过4个字符,会自动截断超出部分。例如你存入数据为 'ab' ,实际会存入 'ab ' (ab后有2个空格),因此占用4个字节。以下以几个案例作为演示:

(1) 'a啊b' —— 字符数为3,少1个用空格补齐,因此实际存入 'a啊b ' ,字符数:4,字节数:1+3+1+1=6

(2)'a啊b哈ccccccccc' —— 字符数超出4,仅保留前4个字符,因此实际存入 'a啊b哈' ,字符数:4,字节数:1+3+1+3=8

(3)'a啊和哈' —— 字符数刚好为4,不需要截断和补齐,因此实际存入 'a啊和哈&#



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3