gpt4 book ai didi

mysql - MySQL 中的 tinyint、smallint、mediumint、bigint 和 int 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:47:43 25 4
gpt4 key购买 nike

MySQL 中的 tinyint、smallint、mediumint、bigint 和 int 有什么区别?

在什么情况下应该使用这些?

最佳答案

它们占用不同数量的空间,并且具有不同的可接受值范围。

Here are the sizes and ranges of values for SQL Server ,其他 RDBMS 也有类似的文档:

事实证明它们都使用相同的规范(下面提到了一些小异常(exception))但支持这些类型的各种组合(不包括 Oracle,因为它只有一个 NUMBER 数据类型,请参阅上面的链接):

             | SQL Server    MySQL   Postgres    DB2
---------------------------------------------------
tinyint | X X
smallint | X X X X
mediumint | X
int/integer | X X X X
bigint | X X X X

并且它们支持相同的值范围(下面有一个异常(exception))并且都具有相同的存储要求:

            | Bytes    Range (signed)                               Range (unsigned)
--------------------------------------------------------------------------------------------
tinyint | 1 byte -128 to 127 0 to 255
smallint | 2 bytes -32768 to 32767 0 to 65535
mediumint | 3 bytes -8388608 to 8388607 0 to 16777215
int/integer | 4 bytes -2147483648 to 2147483647 0 to 4294967295
bigint | 8 bytes -9223372036854775808 to 9223372036854775807 0 to 18446744073709551615

“无符号”类型仅在 MySQL 中可用,其余仅使用有符号范围,有一个值得注意的异常(exception):tinyint 在 SQL Server 中是无符号的,并且具有取值范围为 0 到 255

关于mysql - MySQL 中的 tinyint、smallint、mediumint、bigint 和 int 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991405/

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