精华内容
下载资源
问答
  • MYSQL中TINYINT的取值范围

    万次阅读 2019-03-10 17:16:58
    在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeri...

    原文地址:https://blog.csdn.net/lysygyy/article/details/5983433

     

    在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呢?这就是本文要说的关键地方了,在计算机中,表示负值是用补码(正码、反码、补码的概念见http://indian.blog.163.com/blog/static/1088158200610942745817/

     

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

    展开全文
  • 测试Mysql中Tinyint类型的范围

    万次阅读 2018-10-01 13:17:15
    MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中, 整数类型包括:tinyint、smallint、mediumint、int和bigint。...本文将通过测试验证tinyint值的范围。 1.有符号...

        MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中, 整数类型包括:tinyint、smallint、mediumint、int和bigint。 

        其中,tinyint的大小为1字节,即8位二进制。在无符号的情况下,值得范围(0,255)。在有符号的情况下,值得范围(-128,127)。本文将通过测试验证tinyint值的范围。

    1.有符号

    1.1建表

        创建表person,包含name 和score两列。其中score的类型是Tinyint,默认为有符号。

    create table person (
      name varchar(20),
      score tinyint
    );

    1.2插入数据

    mysql> insert into person values('April',128);
    ERROR 1264 (22003): Out of range value for column 'score' at row 1
    mysql> insert into person values('April',127);
    Query OK, 1 row affected (0.00 sec)

        插入128时报错,原因是值越界。插入127时成功。这验证了tinyint在有符号的情况下,上界是127。

    mysql> insert into person values('April',-129);
    ERROR 1264 (22003): Out of range value for column 'score' at row 1
    mysql> insert into person values('April',-128);
    Query OK, 1 row affected (0.00 sec)

        插入-129时报错,原因是值越界。插入-128时成功。这验证了tinyint在有符号的情况下,下界是-128。

    1.3 查询数据

    select * from person;

        

    2.无符号 

    2.1建表

         创建表person,包含name 和score两列。其中score的类型是Tinyint unsigned 。

    create table person (
      name varchar(20),
      score tinyint unsigned
    );
    

    2.2插入数据

    mysql> insert into person values('April',256);
    ERROR 1264 (22003): Out of range value for column 'score' at row 1
    mysql> insert into person values('April',255);
    Query OK, 1 row affected (0.00 sec)
    

        插入256时报错,原因是值越界。插入255时成功。这验证了tinyint在无符号的情况下,上界是255。

    mysql> insert into person values('April',-1);
    ERROR 1264 (22003): Out of range value for column 'score' at row 1
    mysql> insert into person values('April',0);
    Query OK, 1 row affected (0.00 sec)
    

        插入-1时报错,原因是值越界。插入0时成功。这验证了tinyint在无符号的情况下,下界是0。

    2.3查询数据

    select * from person;

       

        综上,tinyint在无符号的情况下,值得范围(0,255)。在有符号的情况下,值得范围(-128,127)。

     

     

     

     

    展开全文
  • 分享下mysql中TINYINT的取值范围,很基础的一些内容。 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》...

    分享下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 的存储空间。

    转载于:https://www.cnblogs.com/cfinder010/p/3913825.html

    展开全文
  •   BIGINT 从 -2^63 (-9223372036854775808) 到 2^63-1 ...TINYINT 从 0 到 255 的整型数据。存储大小为 1 字节。 未来已来,将至已至。 如果你觉得本篇文章对你有所帮助,请支持作者哦
     

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

     

    INT或INTEGER 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。

     

    MEDIUMINT 从-2^23(-8 388 608)到2^23(8 388 607)的整型数据,存储大小位3字节。

     

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

     

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

    未来已来,将至已至。

    如果你觉得本篇文章对你有所帮助,请支持作者哦

    展开全文
  • mysql整型数值范围区分INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT,tinyint(1) tinyint(3)
  • mysql中TINYINT的取值范围

    万次阅读 2020-12-09 10:17:45
    最近在开发过程中,看见表设计中是thinyint字段,但对于它的范围产生了好奇 问题描述: 当我们填写超过128数值的时候,该字段就会报以下错误 Cause:...
  •  数据类型支持的范围时,就可以采用  bigint 。在 SQL Server 中, int  数据类型是主要的整数数据类型。 在数据类型优先次序表中, bigint  位于  smallmoney  和  int  之间。 只有当参数...
  • 想要了解取值范围首先需要知道的是 bit 和 Byte 的概念 bit :位 二进制数系统中,位通常简写为 "b",也称为比特,每个二进制数字 0 或 1 就是一个位(bit)。位是表示信息的最小单位,其中 8 bit 就称为一个...
  • mysql中tinyint的取值范围

    千次阅读 2019-05-21 14:05:06
    在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。 ...
  • 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 ======================================== tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存...
  • MySql数据超出范围的处理

    千次阅读 2018-10-01 10:42:34
    默认情况下,MySQL中一个数据超出类型的范围时,数据会以数据类型所充许的最大值存储。... tinyint占1个字节,默认是带符号的类型,能够表示的范围是[-128,127]。插入200时,MySQL默认情况下,并不会报错或警告...
  • Mysql 的 数值类型 取值范围

    千次阅读 2018-02-10 17:30:49
    例如如果 tinyint 最大是127,那 tinyint unsigned 最大就可以到 127 * 2;unsigned 属性只针对整型,而binary属性只用于 char 和 varchar。mysql提供了五种整型: tinyint、smallint、mediumint、int和bigint。int...
  • 在 MySQL 中,zerofill 字段约束表示用零填充,配合整型后面的小括号中的数值一起生效。...对于 tinyint 数据类型,只占 1 个字节: 无符号的(unsigned),范围是 0 到 255,默认长度是 3。 有符号的(sign...
  • bigint 数值范围 从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 数值范围 从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型...
  • 在一开始接触MySQL数据库时,对于int(M)及tinyint(M)两者数值类型后面的M值理解是最多能够插入数据库中的值不能大于M; 后来工作后,也是一边学习一边使用,之后的理解是其中的M的意思是插入数据库中的值的字符长度...
  • int(M) M指最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储...
  • 4)tinyint  存储大小为 1 字节。 从 0 到 255 的整型数据。   sql server的 money 类型其与小数类型 decimal 。 money 存储大小为 8字节。 15位.4位 相当于 decimal(19,4) 存储大小为 9字节 ...
  • 150 数据库中tinyint是什么类型

    千次阅读 2019-03-13 22:53:47
    整型数系统已经限制了取值范围,比如tinyint占一个字节(8bit)、int占4个字节。 所以整型数后面的m不是表示的数据长度,而是表示数据在显示时显示的最小长度(长度为字符数)。 tinyint(1) 这里的1表示的是最小显示...
  • 数值字节与范围

    千次阅读 2016-08-26 07:34:03
    字节与范围字节与范围换算:1...存储可以加上UNSIGNED取消符号: 如 Tinyint UNSIGNED 。默认情况下都是有符号的。 所以存储范围也分为两类: 无符号 1 1111111(二进制) = 255(十进制) 有符号 1 1111111 (二进制) =
  • SQL 数值类型表示范围

    2019-06-22 21:57:36
     tinyint 0 to 255 1 Byte  decimal  - 10^38 +1 through 10^38 - 1    numeric  - 10^38 +1 through 10^38 - 1     float  - 1.79E+308 ...
  • 参考博客:... 首先,我们创建一个数据表test: mysql> CREATE TABLE test( -> id1 int(1), -> id2 tinyint(1) ...我们给id1定义为int,并设置字符长度为1,id2定义为tinyint,也设...
  • 在mysql的数据类型中,tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《mysql 5.1参考手册》 http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types )。   ...
  • mysql数值范围

    千次阅读 2013-08-29 15:00:28
    时间数据类型转换为int处理更快:201204  select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); int(20) 是最大的 int(30)也是int(20) ...位字段类型,M表示每个值的位数,范围...2.TINYINT[(M)] [UNSIGNE

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,280
精华内容 6,512
关键字:

tinyint数值范围