`

详解mysql int类型的长度值问题

 
阅读更多

 

 

以下是每个整数类型的存储和范围(来自mysql手册)

类型

字节

最小值

最大值

 

 

(带符号的/无符号的)

(带符号的/无符号的)

TINYINT

1

-128

127

 

 

0

255

SMALLINT

2

-32768

32767

 

 

0

65535

MEDIUMINT

3

-8388608

8388607

 

 

0

16777215

INT

4

-2147483648

2147483647

 

 

0

4294967295

BIGINT

8

-9223372036854775808

9223372036854775807

 

 

0

18446744073709551615

表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.

我们拿int类型为例:

int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(byte)并非是计算机存储的最小单位, 还有比字节(byte)更小的单位, 也就是位(bit),一个位就代表一个0或1; 8个位组成一个字节; 一般字节用大写B来表示byte, 位用小写b来表示bit.

计算机存储单位的换算:

1B=8b

1KB=1024B

1MB=1024KB

那么根据int类型允许存储的字节数是4个字节, 我们就能换算出int UNSIGNED(无符号)类型的能存储的最小值为0, 最大值为4294967295(即4B=32b, 最大值即为32个1组成);

 

 

 

Mysql类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。

当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。

所有整数类型可以有一个可选(非标准)属性UNSIGNED。当你想要在列内只允许非负数和该列需要较大的上限数值范围时可以使用无符号值。

 

所以int(10)与int(11)后的括号中的字符表示显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,int类型的字段能存储的数据上限还是2147483647(有符号型)和4294967295(无符号型)。

 

 

 

分享到:
评论

相关推荐

    MySql所有字段类型及长度范围

    ### MySQL所有字段类型及长度范围详解 在数据库设计与应用开发过程中,选择合适的字段类型对于确保数据的准确存储和高效处理至关重要。MySQL提供了丰富的数据类型,涵盖了数字、字符串、日期时间等多种类别,满足了...

    mysql数据类型详解.pdf

    例如,使用INT而不是SMALLINT,以便在未来数据量增长时能够避免类型溢出的问题。 总之,MySQL数据类型的灵活使用对于数据库性能优化至关重要,同时也关系到数据完整性和安全性。在实际应用中,数据库管理员和开发者...

    MySql数据类型详解

    ### MySQL数据类型详解 #### 一、列类型概述 MySQL提供了丰富的数据类型,适用于各种应用场景。根据数据的不同特性,MySQL中的数据类型大致可以分为以下几类:数值类型、字符串类型、日期/时间类型以及二进制类型...

    mysql数据类型转换

    ### MySQL 数据类型转换详解 #### 一、引言 在MySQL数据库中,数据类型转换是一项非常重要的技能。它可以帮助我们灵活地处理不同类型的数据,尤其是在进行数据检索或处理时,经常需要将一种数据类型转换为另一种...

    mysql数据类型

    MySQL 数据类型详解 MySQL 数据类型是指在 MySQL 中存储数据的格式,包括整型、浮点型、定点型、字符串、日期时间型、枚举型等多种类型。下面将对 MySQL 数据类型进行详细的介绍。 整型 MySQL 中的整型包括 ...

    MySQL的数据类型详解

    ### MySQL 数据类型详解 在学习和使用MySQL的过程中,掌握各种数据类型是非常重要的。本文将详细介绍MySQL支持的主要数据类型,包括数值类型、字符串类型、日期时间类型、二进制类型以及特殊类型。 #### 1. 数值...

    mysql int和tinyint的区别.docx

    在MySQL中,`INT` 和 `TINYINT` 是两种常见的整数类型,它们主要用于存储整数值。这两种类型的差异主要体现在存储空间的需求、能够表示的数值范围以及显示宽度等方面。 #### 二、INT 类型详解 1. **存储空间**:`...

    MySQL 数据类型 详解

    MySQL 数据类型是数据库设计的基础,理解每种类型的特点和适用场景对于优化数据库性能至关重要。以下是对MySQL主要数据类型的详细介绍: 1. **整型**: - `TINYINT(m)`: 占用1个字节,有符号时范围是-128到127,无...

    MySQL所有数据类型.pdf

    MySQL 数据类型详解 MySQL 数据类型是指在 MySQL 数据库中存储数据的方式,它决定了数据的存储格式、大小和范围。了解 MySQL 数据类型非常重要,因为它直接影响数据库的性能、可维护性和安全性。本篇文章将详细介绍...

    MySQL数据类型全掌握

    #### 二、MySQL数据类型详解 MySQL的数据类型大致可以分为四类:数值类型、字符串类型、日期/时间类型以及特殊类型。 ##### 1. 数值类型 - **整型**: 包括`TINYINT`、`SMALLINT`、`MEDIUMINT`、`INT`(或`INTEGER...

    详解MySQL数据类型int(M)中M的含义

    首先,`int`数据类型的存储空间是固定的,无论`M`的值是多少,`int`在MySQL中始终占用4个字节(32位),这意味着它的取值范围也是固定的:-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647)。如果使用`unsigned`...

    mysql数据类型详解定义.pdf

    - 整数型:MySQL 提供了不同大小的整数类型,包括 `TINYINT`(非常小的整数,占用1字节)、`SMALLINT`(较小整数,占用2字节)、`MEDIUMINT`(中等大小整数,占用3字节)、`INT`(标准整数,占用4字节)和`BIGINT`...

    MySQL 数据类型 (列表)

    MySQL 数据类型详解 MySQL 数据类型是 MySQL 数据库中的一种基本概念,它定义了数据在数据库中的存储格式和范围。了解 MySQL 数据类型对于数据库设计和开发至关重要。本文将详细介绍 MySQL 数据类型,包括整数、...

    mysql int(3)与int(11)的区别详解

    MySQL中的`INT`数据类型用于存储整数值,如`INT(3)`和`INT(11)`。然而,这些数字括号内的数字并不是用来限制实际存储的整数值的位数或长度,而是用来指定显示宽度的。这在某些情况下,如格式化输出或者配合`ZEROFILL...

    MySQL的数据类型和建库策略详解

    整数类包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,它们的存储空间分别为1、2、3、4和8字节,适用于存储整数值。在选择整数类型时,应根据实际需求确定足够的范围,同时尽可能减少存储空间的占用。例如,如果只...

    mysql实现char类型主键自增长

    但对于某些特定场景,例如需要主键包含日期信息或具有固定长度和格式时,CHAR类型则显得更为适用。为了实现CHAR类型的自增长,我们可以借助MySQL的触发器机制,在每次插入新记录前动态生成一个新的、唯一的主键值。 ...

    第12章_MySQL数据类型.docx

    MySQL 数据类型详解 MySQL 数据类型是指 MySQL 数据库中可以存储的数据类型,包括整数类型、浮点类型、定点数类型、日期时间类型、文本字符串类型、枚举类型、集合类型、空间数据类型等。 整数类型 整数类型是 ...

Global site tag (gtag.js) - Google Analytics