文章目录

  • 1. 取值范围介绍
  • 2. 创建操作
  • 2.1. 使用Navicat
  • 2.2. 命令


1. 取值范围介绍

官方帮助:Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT

整数类型又称数值型数据,数值型数据类型主要用来存储数字。

MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。

MySQL 主要提供的整数类型有 TINYINTSMALLINTMEDIUMINTINTBIGINT,其属性字段可以添加AUTO_INCREMENT自增约束条件。下表中列出了 MySQL 中的数值类型。

类型名称

说明

存储需求

TINYINT

很小的整数

1个字节

SMALLINT

小的整数

2个宇节

MEDIUMINT

中等大小的整数

3个字节

INT (INTEGHR)

普通大小的整数

4个字节

BIGINT

大整数

8个字节

从上表中可以看到,不同类型的整数存储所需的字节数不相同,占用字节数最小的是 TINYINT 类型,占用字节最大的是 BIGINT 类型,占用的字节越多的类型所能表示的数值范围越大。

根据占用字节数可以求出每一种数据类型的取值范围。例如,TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最大值为mysql字段取值范围 mysql取值范围设置_取值范围,即 255;TINYINT 有符号数的最大值为mysql字段取值范围 mysql取值范围设置_数据类型_02,即127。其他类型的整数的取值范围计算方法相同,如下表所示。

类型名称

有符号型取值范围

无符号型取值范围

TINYINT

-128〜127

0 〜255

SMALLINT

-32768〜32767

0〜65535

MEDIUMINT

-8388608〜8388607

0〜16777215

INT (INTEGER)

-2147483648〜2147483647

0〜4294967295

BIGINT

-9223372036854775808〜9223372036854775807

0〜18446744073709551615

提示:显示宽度和数据类型的取值范围是无关的。显示宽度只是指明 MySQL 最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充。如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。例如,year 字段插入 19999,当使用 SELECT 查询该列值的时候,MySQL 显示的将是完整的带有 5 位数字的 19999,而不是 4 位数字的值。

其他整型数据类型也可以在定义表结构时指定所需的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度值。

不同的整数类型有不同的取值范围,并且需要不同的存储空间,因此应根据实际需要选择最合适的类型,这样有利于提高查询的效率和节省存储空间。

2. 创建操作

2.1. 使用Navicat

Navicat Premium v15.0.17 下载和安装,参考:

创建字段的时候打钩无符号即可

mysql字段取值范围 mysql取值范围设置_MySQL_03

2.2. 命令

前面加上UNSIGNED关键字,如:

ALTER TABLE `ffmpeg`.`changvideospeed` 
ADD COLUMN `oldWidth` smallint UNSIGNED NULL AFTER `newFPS`;