mysql中bigint、int、mediumint、smallint 和 tinyint的取...

在MySQL中,bigint、int、mediumint、smallint和tinyint都是整数类型(integer type),它们在存储数据范围和存储空间方面有所不同。本文将详细介绍这五种整数类型的用法和区别,并提供案例说明。

1. bigint类型:存储范围为-2^63到2^63-1,占用8字节的存储空间。如果需要存储非常大的整数,bigint类型是一个不错的选择。通常用于存储身份证号码、手机号码等需要较长的数字。

例如:

```

CREATE TABLE user (

id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

2. int类型:存储范围为-2^31到2^31-1,占用4字节的存储空间。如果您没有存储非常大的数字,且数据列需要经常进行整数运算,则int类型是一个不错的选择。通常用于存储应用程序中的计数器、计时器等。

例如:

```

CREATE TABLE user (

id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

3. mediumint类型:存储范围为-2^23到2^23-1,占用3字节的存储空间。如果数据列中存储的数字不需要超过int类型的范围,但是又需要占用更少的存储空间,则mediumint类型是一个不错的选择。

例如:

```

CREATE TABLE user (

id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

4. smallint类型:存储范围为-2^15到2^15-1,占用2字节的存储空间。如果数据列中存储的数字不需要超过mediumint类型的范围,但是又需要占用更少的存储空间,则smallint类型是一个不错的选择。

例如:

```

CREATE TABLE user (

id SMALLINT(6) UNSIGNED NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

5. tinyint类型:存储范围为-2^7到2^7-1,占用1字节的存储空间。如果数据列中存储的数字不需要超过smallint类型的范围,但是又需要占用更少的存储空间,则tinyint类型是一个不错的选择。此外,tinyint类型还可用于存储布尔值(0或1)。

例如:

```

CREATE TABLE user (

id TINYINT(4) UNSIGNED NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

综上所述,当您需要存储整数类型的数据时,在选择数据类型时需要根据数据范围和所需存储空间进行权衡。同时,不同的整数类型在运算速度和空间效率上也存在差异,需要根据具体情况进行选择。

下面是一个包含五种整数类型的表结构案例:

```

CREATE TABLE numbers (

id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,

num1 INT(11) NOT NULL,

num2 MEDIUMINT(8) NOT NULL,

num3 SMALLINT(6) NOT NULL,

num4 TINYINT(4) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

```

通过以上例子,您可以创建一张名称为numbers的表,其中包含五个数字列,分别采用了bigint、int、mediumint、smallint和tinyint类型。根据您的具体需求,在表设计时选择合适的整数类型,将有助于您更有效地利用存储空间并提高数据处理效率。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(40) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部