gpt4 book ai didi

mysql - 为什么我们要分配大小(如字符串数据类型中的 char(20) 或 varchar(20),而不是 SQL 中的 int 或 float 等数据类型)?

转载 作者:行者123 更新时间:2023-11-29 08:42:25 24 4
gpt4 key购买 nike

为什么我们要分配大小(如字符串数据类型中的 char(20) 或 varchar(20),而不是 SQL 中的 int 或 float 等数据类型)?

最佳答案

数字类型被称为“固定大小”类型。无论您存储哪个值,该列的存储大小都不会改变。通过选择类型,您可以定义它的大小。 integer 使用的空间比 bigint 少。

您还(隐式)在列上定义一个约束,限制可以存储的最大值和最小值(bigint 可以容纳比 integer 更大的数字) )。

字符类型的长度规范具有类似的目的:它定义了数据最大长度的约束。

对于 char 列,这还定义了存储大小,因为 char 也是固定长度的数据类型(较短的值将填充到定义的长度)

对于所有(?)现代 DBMS,不同字符 (varchar) 列的定义(最大)大小并不会真正改变其存储方式。 DBMS 只是确保您不能存储超过您指定的内容(类似于您不能存储超出整数列的定义范围的数字)。

DBMS可能根据定义的最大大小应用一些内部(未记录)优化,但这对于访问数据的系统来说是“不可见的”。

关于mysql - 为什么我们要分配大小(如字符串数据类型中的 char(20) 或 varchar(20),而不是 SQL 中的 int 或 float 等数据类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13438777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com