在MySQL中应该使用什么类型的整数?

25 浏览
0 Comments

在MySQL中应该使用什么类型的整数?

我正在为一个系统创建数据库架构,开始对MySQL中的整数数据类型产生了一些疑问。我注意到,至少在Moodle中,数据类型有时是TINYINT(用于标志之类的内容),INT(用于ID号码)或BIGINT(用于几乎无限的自增值,例如用户ID)。

我在想:这对实际数据库有什么影响呢?如果我对某个标志使用INT(例如1 = 待处理,2 = 处理中,3 = 审核中,4 = 已处理),而不是TINYINT或BIGINT,会有什么影响吗?不设置约束又会怎样?(例如,对于标志,使用TINYINT(1)或没有具体数字的TINYINT)

0
0 Comments

在MySQL中使用什么类型的整数?这个问题的出现是因为对MySQL中整数数据类型的选择不够了解。解决方法是通过阅读MySQL参考手册的相关部分,并根据其中的内容做出决策。

在MySQL中,有不同的数值数据类型可供选择。在做出选择之前,有必要了解这些数据类型的特点和使用场景。可以通过阅读MySQL参考手册中的相关内容来获取这些信息。在MySQL参考手册的网页链接中提到了不同数值数据类型的详细说明。点击这个链接可以打开一个新的网页,其中包含了对MySQL中数值数据类型的详细描述。

在MySQL参考手册中的重要一点是,直到现在我才知道,附加到数据类型的数字并不是一个约束条件。这意味着在选择整数数据类型时,不需要考虑附加的数字。相反,应该根据实际需要选择合适的整数数据类型。

根据MySQL参考手册中的描述,以下是MySQL中常见的整数数据类型:

- TINYINT:占用1字节,范围为-128到127或0到255

- SMALLINT:占用2字节,范围为-32768到32767或0到65535

- MEDIUMINT:占用3字节,范围为-8388608到8388607或0到16777215

- INT或INTEGER:占用4字节,范围为-2147483648到2147483647或0到4294967295

- BIGINT:占用8字节,范围为-9223372036854775808到9223372036854775807或0到18446744073709551615

通过阅读MySQL参考手册中关于数值数据类型的详细说明,可以根据具体需求选择合适的整数数据类型。

0
0 Comments

在MySQL中,我们可以使用不同的整数类型来存储不同范围内的整数值。这些整数类型包括tinyint、smallint、mediumint、bigint和int。然而,有些人可能会对这些整数类型之间的差异感到困惑。在一个Stack Overflow的帖子中,有人提出了关于这些整数类型之间区别的问题。

在这个帖子的第二个回答中,有人回答了这个问题。基本上,这些整数类型存储相同的数据,并且以相同的方式访问。但是,它们占用的存储空间不同。例如,存储在TINYINT中的数字4占用1字节的存储空间,而存储在BIGINT中的数字4占用8字节的存储空间。

因此,我们可以根据需要选择适当的整数类型。如果我们需要存储较小的整数值,可以使用tinyint或smallint。如果我们需要存储较大的整数值,可以使用mediumint、bigint或int。另外,如果我们希望存储非负整数值,可以使用对应的unsigned整数类型(例如tinyint unsigned)。

在选择整数类型时,我们应该考虑存储空间的需求。如果我们需要存储大量的整数值,选择较小的整数类型可以节省存储空间。另外,我们还应该考虑整数类型的范围。如果我们需要存储超出特定整数类型范围的值,我们应该选择具有更大范围的整数类型。

总之,根据存储需求和范围要求,我们可以选择合适的整数类型来在MySQL中存储整数值。

0
0 Comments

在MySQL中应该使用什么类型的整数?

在MySQL中使用整数时,提供的大小不会影响数据的存储方式。因此,INT(11)和INT(3)在磁盘上的存储方式是相同的。

对于你举的例子,使用ENUM('pending', 'inprocess', 'revewing', 'processed')会更合适。这样在代码和数据中都能保持可读性,同时提供与使用整数相同的速度。

哦,这是一个很好的提示!但是,例如,如果我只存储基于10位数的数据,使用INT(10)比使用INT更好吗?它会对性能/数据有任何影响吗?

TINYINT(5)和INT(5)在磁盘上是不同的(1个字节对应4个字节),而INT(1)和INT(2)是相同的(都是4个字节)。

0