分享下mysql中TINYINT的取值范围,很基础的一些内容。

在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。

Tinyint占用1字节的存储空间,即8位(bit)。那么Tinyint的取值范围怎么来的呢?

先看无符号的情况。无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0.无符号的最大值即全部8bit都为1,11111111,换算成十进制就是255.这很好理解。

有符号的Tinyint的取值范围是怎么来的呢?在计算机中,用最高位表示符号。0表示正,1表示负,剩下的表示数值。那么有符号的8bit的最小值就是

1  1  1  1  1  1  1  1=-127

表示负值

最大值:

0  1  1  1  1  1  1  1=+127

表示正值

怎么有符号的最小值是-127,而不是-128呢?这就是本文要说的关键地方了,在计算机中,表示负值是用补码

为什么有符号的TINYINT的最小值是-128?虽然“-0”也是“0”,但根据正、反、补码体系,“-0”的补码和“+0”是不同的,这样就出现两个补码代表一个数值的情况。为了将补码与数字一一对应,所以人为规定“0”一律用“+0”代表。同时为了充分利用资源,就将原来本应该表示“-0”的补码规定为代表-128。

mysql中int、bigint、smallint 和 tinyint的区别详细介绍

最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结:

使用整数数据的精确数字数据类型。

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数 (脚本学堂 www.jbxue.com)

int

从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

smallint

从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。

tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

注释

在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。

在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。

只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。

int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。

mysql数据库tinyint_mysql数据库TINYINT取值范围详解相关推荐

  1. MySQL数据库的数据类型以及取值范围详解

    主要包括以下五大类: 整数类型:BIT.BOOL.TINY INT.SMALL INT.MEDIUM INT. INT. BIG INT 浮点数类型:FLOAT.DOUBLE.DECIMAL 字符串类 ...

  2. python列表切片后得到剩余列表_python列表切片和嵌套列表取值操作详解

    python列表切片和嵌套列表取值操作详解 给出列表切片的格式: [开头元素::步长] # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同) [开头元素:结尾元素(不含):步长] # 其中, ...

  3. 整型数据类型及其取值范围详解

    整型数据类型 C数据类型 最小值 最大值 [signed] char -128 127 unsigned char 0 255 short -32768 32767 unsigned short 0 ...

  4. 微信小程序中form 表单提交和取值实例详解

    2019独角兽企业重金招聘Python工程师标准>>> 我们知道,如果我们直接给 input 添加 bindinput,比如:<input bindinput="on ...

  5. Map的取值方式详解

    在Map集合中,有如下定义:           values():方法是获取集合中的所有的值----没有键,没有对应关系,           KeySet():将Map中所有的键存入到set集合中 ...

  6. Java基本数据类型默认值和取值范围详解

    Java基本数据类型有哪些?Java中的基本数据类型有,byte.short.int.long.float.double.char和.boolean这些,接下我们来了解一下它们的默认值和取值范围是怎样 ...

  7. c语言 long类型取值范围,详解 IOS下int long longlong的取值范围

    详解 IOS下int long longlong的取值范围 32bit下: unsigned int 0-4294967295 int -2147483648-2147483647 unsigned ...

  8. mysql栏的范围外值,MySQL中各种字段的取值范围-数据库专栏,MySQL

    mysql中各种字段的取值范围过节回来,网站更新的第一篇文章. 看来我有必要在最近找到一位志同道合的同学一起来维护站点才行了----------------------tinyint -128 – 1 ...

  9. jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参

    为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...

最新文章

  1. java 随机取三个_Java-Random 从五个人中随机三个 且不能重复
  2. PLS-00172: string literal too long
  3. php 之 post json 数据
  4. eclipse实现代码块折叠-类似于VS中的#region……#endregion
  5. python中的PEP是什么?怎么理解?(转)
  6. python2没有pip命令_解决Windows下python和pip命令无法使用的问题
  7. java代码逆向工程生成uml
  8. 【数据库】第五章 数据库的完整性(2020.4.15)联系第三章
  9. 智和网管平台SugarNMS网络安全解决方案
  10. Linux man帮助文档
  11. 奇数值结点链表(C语言实现)
  12. 使用html和css的一些案列(小米官网)
  13. eclipse中的svn提交代码时文件上出现蓝色加号或者十字架时最笨但最有效的方法
  14. 有钱人的心肠更硬吗?
  15. Anomaly Detection 入门概述
  16. 开源中最好的Web开发资源汇总
  17. Java实现Excel操作的方式
  18. 2022/10/07
  19. 运维人必备:日志分析工具日志易之银行业解决方案
  20. 美团点评Robust(泛型与热更新方案)

热门文章

  1. 【CSS】a标签超链接的各种样式及实现方法
  2. 怎么在大数据里面删除不了_网贷大数据怎么清除
  3. class4-操作列表
  4. H3C路由器配置——动态路由RIP协议
  5. pinyin4j使用崩溃
  6. 使用python在网易爬取股票信息,制作股票分析系统(简易版)
  7. [转载]《狼》-bressanon布列瑟农 一次触动每个人心灵的感受
  8. A letter from Seals to human海豹寄給人类的一封信
  9. 三个小本创业发明项目,你可以试试看
  10. 关于OCM数量及OCM Profile登记