mysql数据类型——整型INT(m)

1.整形分为四种 tinyint smallint mediumint int bigint

注意:

  右侧的取值范围是在未加unsigned关键字的情况下,如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。

项目出错案例:

  在做根据身份获取城市的时候

  发现大于127的region_id 就都取127得127( 东方市),一直找不到原因,原来是插入region_id的字段类型定义问题

定义为: tinyint(4) 最大127 若加上unsigned 则可增加到256     直接更改为 smallint(5) 最大值到32767 显示成功!

表格一共有四列:

  字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值

拿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组成);

2.INT(m)里的m表示什么意思?

  M 表示最大显示宽度。 在 int(M) 中,M 的值跟 int(M) 所占多少存储空间无任何关系。

  int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。

int(M) 只有跟 zerofill 结合起来,才能使我们清楚的看到不同之处

@1.创建表t

mysql> drop table if exists t; mysql> create table t(id int zerofill);

@2.插入数据

  mysql> insert into t(id) values(10);

@3.显示select * from t

@4.更改字段为int(3)

mysql>ALTER TABLE t CHANGE COLUMN id id INT(3) ZEROFILL;

显示为:

@5.插入超过限定长度的值

mysql> mysql> insert into t(id) values(1000000);

从上面的测试可以看出:

  (M)  指定了 int 型数值显示的宽度,如果字段数据类型是 int(4),则:当显示数值 10 时,在左边要补上 “00”;

  当显示数值 100 是,在左边要补上“0”;

  当显示数值 1000000 时,已经超过了指定宽度“(4)”,因此按原样输出

  这个M=4我们可以简单的理解成为, 我们建立这个长度是为了告诉MYSQL数据库我们这个字段的存储的数据的宽度为4位数,  当然如果你不是5位数(只要在该类型的存储范围之内)MYSQL也能正常存储.

定义时需要注意是否使用 unsigned 符号类型,再就是显示补齐宽度值

时间: 2024-11-05 16:06:03

mysql数据类型——整型INT(m)的相关文章

[C]基本数据类型:整型(int)用法详解

1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整型. int代表有符号整数,也就是说,用int声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数.标准规定int的最小取值范围是-32767到32767.int的取值范围因机器而异,但是一定要大于或者等于-32767到32767.一般来说,int占用一个字的内存空间.因此,字长为16位(B

MySQL数据类型--整型

整数类型是数据库中最基本的数据类型.标准SQL中支持INTEGER和SMALLINT这两种整数类型.MySQL数据库除了支持这两种类型外,还扩展支持了TINYINT.MEDIUMINT和BIGInT. 各种整数类型的取值范围.存储的字节数.特点. 整型 字节数 无符号数的取值范围 有符号数的取值范围 TINYINT 1 0~255 -128~127 SMALLINT 2 0~65535   -32768~12767 MEDIUMINT 3 0~16777215    -8388608~83886

GOLANG 基本数据类型 整型

基本数据类型-整型 种类 有符号(负号) int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位数) int uint 类型别名 Unicode字符rune类型等价int32 byte等价uint8 特殊类型 uintptr,无符号整型, 由系统决定占用位大小,足够存放指针即可,和C库或者系统接口交互 取值范围 具体类型 取值范围 int8 -128到127 uint8 0到255 int16 -32768到3

数据类型之整型(int)

Python中的整型用int表示.python2中: 在32位机器上,整数的位数为32位,取值范围为-2^31-2^31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2^63-2^63-1,即-9223372036854775808-9223372036854775807 超出长度之后就会变为long类型.python3中: 只有int没有long,所有数字都是int类型. 注意:在python2中使用除法时,只能保留整数位,如果想要保留小

[日常] Go语言圣经--作用域,基础数据类型,整型

go语言圣经-作用域 1.一个声明语句将程序中的实体和一个名字关联,比如一个函数或一个变量 2.一个变量的生命周期是指程序运行时变量存在的有效时间段;声明语句的作用域对应的是一个源代码的文本区域,它是一个编译时的属性 3.句法块是由花括弧所包含;我们可以把块(block)的概念推广到包括其他声明的群组,这些声明在代码中并未显式地使用花括号包裹起来,我们称之为词法块. 4.全局作用域 包级语法域 源文件级的作用域 局部作用域 函数级的作用域 5.从最内层的词法域向全局的作用域查找.内部的会覆盖外部

python02 运算符,基本数据类型,整型,字符串

1.python开发IDE pycharm,python编写工具,, #专业版 #不需要汉化 注册码问题解决 https://www.cnblogs.com/evlon/p/4934705.html整体注释:选中后,ctrl+? 2.运算符 算数运算符   +      -   *   /    %    **(幂)   //(向下取整) 比较运算符  ==      >    <    >=   <=     !=不等于   <>不等于 赋值运算符  =  +=   

浅谈c#中的数据类型整型

1.整型: 整型数据即整数. 整型数据的分类 整型数据的一般分类如下: 基本型:类型说明符为int,在内存中占2个字节. 短整型:类型说明符为short int或short.所占字节和取值范围均与基本型相同. 长整型:类型说明符为long int或long,在内存中占4个字节. 无符号型:类型说明符为unsigned. 无符号型又可与上述三种类型匹配而构成: 无符号基本型:类型说明符为unsigned int或unsigned. 无符号短整型:类型说明符为unsigned short. 无符号长

MySQL中整各种int类型的范围和存储大小

MySQL中中的整数类型int主要有如下几种: tinyint 的范围是-128~127: int的范围是-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字),存储大小为4个字节: bigint的范围是 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节: smallint unsigned的范围是 –2^15(

ethereum(以太坊)(六)--整型(int)

/* uint8 uint16 ...uint256 int8 int16 int24 ..int256 uint => uint256 int => int256 int8 有符号 +1 ,-3 uint 无符号 1,2 int8 8(位) 1 111 1111 ~ 0 111 1111 - (1+2+4+8+16+32+64) ~ + (1+2+4+8+16+32+64) -127 ~ 127 255(127*2+0) uint8 0000 0000 ~ 1111 1111 (0~255)