精华内容
下载资源
问答
  • 测试Mysql中Tinyint类型范围

    万次阅读 2018-10-01 13:17:15
    MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中, 整数类型包括:tinyint、smallint、mediumint、int和bigint。 其中,tinyint的大小为1字节,即8位二进制。在无符号的情况下...

        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)。

     

     

     

     

    展开全文
  • 整数数据类型tinyint

    千次阅读 2020-02-29 23:22:59
    文章目录1.1 tinyint类型说明1.2 实践环境说明1.3 加unsigned属性1.3.1 SQL模式开启严格模式1.3.3 SQL模式未开启严格模式1.4 加zerofill属性1.5 不加unsigned和zerofill属性 1.1 tinyint类型说明 数据类型 显示...



    PS:mysql整数数据类型规范整理


    1.1 tinyint类型说明

    数据类型显示长度占用字节有符号无符号
    tinyint加上unsigned/zerofill:3
    不加unsigned/zerofill:4
    1(8bit)-128至1270至255
    #### 格式
    id       tinyint(M)                 [unsigned]     [zerofill]
    字段名  数据类型(显示长度,不指定指定)     无符号          无符号且前导零填充
    
    #### 关于tinyint最大数值是怎样得来的
    tinyint占用1字节,1字节占用8位,经过换算(2的8次方减1)就是255;
    
    #### 关于加上unsigned后的说明
    加上unsigned属性后就是无符号(范围是0~255的整数,因为是整数,不会有符号"-",所以就是无符号)
    
    #### 关于加上zerofill后的说明
    zerofill属性会把unsigned属性也给带上,这样就是无符号(范围是0~255,显示长度就是3),同时还会
    进行前导零填充(没有达到显示长度的数值,例如:你插入1,显示的是001)。
    
    #### 不加unsigned和zerofill的说明
    字段后面不加上这两个属性中的任何一个,就表示是有符号(范围是-128~127,因为有符号"-",所有是有符号)



    1.2 实践环境说明

    #### 数据库版本和默认的存储引擎
    mysql> select @@version,@@default_storage_engine;
    +------------+--------------------------+
    | @@version  | @@default_storage_engine |
    +------------+--------------------------+
    | 5.7.28-log | InnoDB                   |
    +------------+--------------------------+
    1 row in set (0.00 sec)
     
     
    #### 创建chenliang库
    mysql> create database if not exists chenliang;
    Query OK, 1 row affected (0.03 sec)
     
    mysql> show databases like "chenliang";
    +----------------------+
    | Database (chenliang) |
    +----------------------+
    | chenliang            |
    +----------------------+
    1 row in set (0.03 sec)
     
     
    #### 进入chenliang库,并查看是否成功进入到库下面
    mysql> use chenliang;
    Database changed
     
    mysql> select database();
    +------------+
    | database() |
    +------------+
    | chenliang  |
    +------------+
    1 row in set (0.01 sec)
    
    
    #### 查看事务是否自动提交
    mysql> select @@global.autocommit;
    +---------------------+
    | @@global.autocommit |
    +---------------------+
    |                   1 |
    +---------------------+
    1 row in set (0.00 sec)
    



    1.3 加unsigned属性

    1.3.1 SQL模式开启严格模式

    SQL_MODE中开启了严格模式,即SQL_MODE参数中包含STRICT_TRANS_TABLES参数

    #### 设置会话模式下的sql_mode中包含strict_trans_tables
    mysql> set session sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
    
    
    #### 创建test1测试表(这里指定了UNSIGNED,也就是无符号)
    mysql> CREATE TABLE IF NOT EXISTS test1(
        ->  id tinyint UNSIGNED
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.06 sec)
       
       ## id字段类型是tinyint unsigned,范围就是0~255,其长度是3;因为255的长度是3;
    
    
    #### 查看test1表的表结构
    mysql> desc test1;
    +-------+---------------------+------+-----+---------+-------+
    | Field | Type                | Null | Key | Default | Extra |
    +-------+---------------------+------+-----+---------+-------+
    | id    | tinyint(3) unsigned | YES  |     | NULL    |       |
    +-------+---------------------+------+-----+---------+-------+
    1 row in set (0.03 sec)
    
    
    #### 测试插入范围0~255范围整数和不在该范围内的整数
    mysql> insert into test1 values(-1);   # 插入数值-1,错误(不在0~255范围内)
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
     
    mysql> insert into test1 values(0);    # 插入数值0,正常(在0~255范围内)
    Query OK, 1 row affected (0.06 sec)
     
    mysql> insert into test1 values(255);  # 插入数值255,正常(在0~255范围内)
    Query OK, 1 row affected (0.05 sec)
     
    mysql> insert into test1 values(256);  # 插入数值256,错误(不在0~255范围内)
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
    mysql> select * from test1;
    +------+
    | id   |
    +------+
    |    0 |
    |  255 |
    +------+
    2 rows in set (0.00 sec)
    

    1.3.3 SQL模式未开启严格模式

    SQL_MODE未开启严格模式,即SQL_MODE参数中不包含STRICT_TRANS_TABLES参数

    #### 设置会话模式下sql_mode中不包含strit_trans_tables变量
    mysql> set session sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
    
    
    
    #### 创建test11表(这里指定了UNSIGNED,也就是无符号)
    mysql> create table if not exists test11(
        -> id tinyint unsigned
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.00 sec)
      ## id字段类型是tinyint unsigned,范围就是0~255,其长度是3;因为255的长度是3;
    
    
    
    #### 查看test11表的表结构
    mysql> desc test11;
    +-------+---------------------+------+-----+---------+-------+
    | Field | Type                | Null | Key | Default | Extra |
    +-------+---------------------+------+-----+---------+-------+
    | id    | tinyint(3) unsigned | YES  |     | NULL    |       |
    +-------+---------------------+------+-----+---------+-------+
    1 row in set (0.00 sec)
    
    
    
    #### 测试插入范围0~255范围整数和不在该范围内的整数
    mysql> insert into test11(id) values(-1);
    Query OK, 1 row affected, 1 warning (0.00 sec)
       ## 不在范围内,插入没有报错(因为sql_mode中没有开启严格模式)
       ## 插入到表中的数据不是-1,而是0
     
    mysql> insert into test11(id) values(0);
    Query OK, 1 row affected (0.01 sec)
        ## 没报错,因为在范围内,插入到表中的也是0
     
    mysql> insert into test11(id) values(255);
    Query OK, 1 row affected (0.01 sec)
        ## 没报错,因为在范围内,插入到表中的也是255
     
    mysql> insert into test11(id) values(256);
    Query OK, 1 row affected, 1 warning (0.00 sec)
       ## 不在范围内,插入没有报错(因为sql_mode中没有开启严格模式)
       ## 插入到表中的数据不是256,而是255
      
    mysql> select * from test11;
    +------+
    | id   |
    +------+
    |    0 |
    |    0 |
    |  255 |
    |  255 |
    +------+
    4 rows in set (0.00 sec)
    

    1.4 加zerofill属性

    1.4.1 SQL模式开启严格模式

    SQL_MODE中开启了严格模式,即SQL_MODE参数中包含STRICT_TRANS_TABLES参数

    ## 设置会话模式下的sql_mode中包含strict_trans_tables
    mysql> set session sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
     
    ## 创建test2测试表(这里指定了zerofill,会前导零填充,同时还会带上unsigned)
    mysql> CREATE TABLE IF NOT EXISTS test2(
        -> id tinyint zerofill
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.01 sec)
         ## id字段类型是tinyint zerofill,范围就是0~255,其长度是3;因为255的长度是3;
    
     ## 查看test2表的表结构
    mysql> desc test2;
    +-------+------------------------------+------+-----+---------+-------+
    | Field | Type                         | Null | Key | Default | Extra |
    +-------+------------------------------+------+-----+---------+-------+
    | id    | tinyint(3) unsigned zerofill | YES  |     | NULL    |       |
    +-------+------------------------------+------+-----+---------+-------+
    1 row in set (0.00 sec)
     
    ## 测试插入范围0~255范围整数和不在该范围内的整数
    mysql> insert into test2 values(-1);   # 插入数值-1,错误(不在0~255范围内)
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
     
    mysql> insert into test2 values(0);    # 插入数值0,正常(在0~255范围内)
    Query OK, 1 row affected (0.06 sec)
     
    mysql> insert into test2 values(255);  # 插入数值255,正常(在0~255范围内)
    Query OK, 1 row affected (0.05 sec)
     
    mysql> insert into test2 values(256);  # 插入数值256,错误(不在0~255范围内)
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
     
    mysql> select * from test2;
    +------+
    | id   |
    +------+
    |  000 |
    |  255 |
    +------+
    2 rows in set (0.00 sec)
    

    1.4.2 SQL模式未开启严格模式

    SQL_MODE未开启严格模式,即SQL_MODE参数中不包含STRICT_TRANS_TABLES参数

    ## 设置会话模式下sql_mode中不包含strit_trans_tables变量
    mysql> set session sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
    
    ## 创建test22表(这里指定了zerofill,会前导零填充,同时还会带上unsigned)
    mysql> create table if not exists test22(
        -> id tinyint zerofill
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.00 sec)
      ## id字段类型是tinyint unsigned,范围就是0~255,其长度是3;因为255的长度是3;
     
    ## 查看test22表的表结构
    mysql> desc test22;
    +-------+------------------------------+------+-----+---------+-------+
    | Field | Type                         | Null | Key | Default | Extra |
    +-------+------------------------------+------+-----+---------+-------+
    | id    | tinyint(3) unsigned zerofill | YES  |     | NULL    |       |
    +-------+------------------------------+------+-----+---------+-------+
    1 row in set (0.00 sec)
     
    ## 测试插入范围0~255范围整数和不在该范围内的整数
    mysql> insert into test22(id) values(-1);
    Query OK, 1 row affected, 1 warning (0.00 sec)
      ## 不在范围,插入没报错(因为sql_mode中没有开启严格模式);
      ## 但到表中的不是-1,而是0,但因为有zerofill参数,所以显示时会前导零序填充;
     
    mysql> insert into test22(id) values(0);
    Query OK, 1 row affected (0.01 sec)
      ## 没报错,因为在范围内,插入到表中的也是0
     
    mysql> insert into test22(id) values(255);
    Query OK, 1 row affected (0.01 sec)
      ## 没报错,因为在范围内,插入到表中的也是255
     
    mysql> insert into test22(id) values(256); 
    Query OK, 1 row affected, 1 warning (0.00 sec)
      ## 不在范围,插入没报错(sql_mode中没有开启严格模式)
      ## 但到表中的数据不是256,而是255
     
    mysql> select * from test22;
    +------+
    | id   |
    +------+
    |  000 |
    |  000 |
    |  255 |
    |  255 |
    +------+
    4 rows in set (0.00 sec)
    


    1.5 不加unsigned和zerofill属性

    1.5.1 SQL模式开启严格模式

    SQL_MODE中开启了严格模式,即SQL_MODE参数中包含STRICT_TRANS_TABLES参数

    ## 设置会话模式下的sql_mode中包含strict_trans_tables
    mysql> set session sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
     
    ## 创建test3表(不加unsigned和zerofill)
    mysql> CREATE TABLE test3(
        -> id tinyint
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.06 sec)
       ## id字段的类型为tinyint,其范围是-128至127,其显示长度是4,因为要显示符号("-")
     
    ## 查看test3表的表结构
    mysql> desc test3;
    +-------+------------+------+-----+---------+-------+
    | Field | Type       | Null | Key | Default | Extra |
    +-------+------------+------+-----+---------+-------+
    | id    | tinyint(4) | YES  |     | NULL    |       |
    +-------+------------+------+-----+---------+-------+
    1 row in set (0.01 sec)
     
    ## 测试插入-128~127范围的整数和不在该范围内的整数
    mysql> insert into test3(id) values(-129);  # 插入数值-129,错误,不在范围内
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
     
    mysql> insert into test3(id) values(-128);  # 插入数值-128,正确,在范围内
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into test3(id) values(127);   # 插入数值127,正确,在范围内
    Query OK, 1 row affected (0.01 sec)
     
    mysql> insert into test3(id) values(128);   # 插入数值128,错误,不在范围内
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
     
    mysql> select * from test3;
    +------+
    | id   |
    +------+
    | -128 |
    |  127 |
    +------+
    2 rows in set (0.00 sec)
    

    1.5.2 SQL模式未开启严格模式

    SQL_MODE中未开启严格模式,即SQL_MODE参数中不包含STRICT_TRANS_TABLES参数

    ## 设置会话模式下sql_mode中不包含strit_trans_tables变量
    mysql> set session sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
    Query OK, 0 rows affected, 1 warning (0.00 sec)
     
    mysql> select @@sql_mode\G
    *************************** 1. row ***************************
    @@sql_mode: NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    1 row in set (0.00 sec)
     
    ## 创建test33表(不加unsigned和zerofill)
    mysql> CREATE TABLE test33(
        -> id tinyint
        -> )engine=innodb character set utf8 collate utf8_general_ci;
    Query OK, 0 rows affected (0.00 sec)
      ## id字段的类型为tinyint,其范围是-128至127,其显示长度是4,因为要显示符号("-")
     
    ## 查看test33表的表结构
    mysql> desc test33;
    +-------+------------+------+-----+---------+-------+
    | Field | Type       | Null | Key | Default | Extra |
    +-------+------------+------+-----+---------+-------+
    | id    | tinyint(4) | YES  |     | NULL    |       |
    +-------+------------+------+-----+---------+-------+
    1 row in set (0.00 sec)
     
    
    ## 测试插入-128~127范围的整数和不在该范围内的整数
    mysql> insert into test33(id) values(-129);
    Query OK, 1 row affected, 1 warning (0.00 sec)
      ## 不在范围内,插入未报错,因为sql_mode中没有开启严格模式
      ## 插入到表中的不是-129,而是-128;
     
    mysql> insert into test33(id) values(-128);
    Query OK, 1 row affected (0.01 sec)
      ## 在范围内,插入不报错,插入的是多少就是多少
     
    mysql> insert into test33(id) values(127);
    Query OK, 1 row affected (0.00 sec)
      ## 在范围内,插入不报错,插入的是多少就是多少
     
    mysql> insert into test33(id) values(128);
    Query OK, 1 row affected, 1 warning (0.01 sec)
      ## 不在范围内,插入未报错,因为sql_mode中没有开启严格模式
      ## 插入到表中的不是128,而是127;
     
    mysql> select * from test33;
    +------+
    | id   |
    +------+
    | -128 |
    | -128 |
    |  127 |
    |  127 |
    +------+
    4 rows in set (0.00 sec)
    
    展开全文
  • tinyint类型解释

    千次阅读 2020-11-23 13:58:36
    tinyint类型代表一个字节,如果一个数字大小超过一个字节,则无法保存。 tinyint有两种类型,第一种(默认)可以储存正负数;第二种指定字段unsigned,只能储存正数。 (1) . 第一种储存过程:一个字节共有8位,将...
    1. tinyint类型代表一个字节,如果一个数字大小超过一个字节,则无法保存。
    2. tinyint有两种类型,第一种(默认)可以储存正负数;第二种指定字段unsigned,只能储存正数。
      (1) . 第一种储存过程:一个字节共有8位,将第一个字节作为正负标志,不做数据储存,其中第一个字节为1=负,0=正。所以最大负数=11111111=-127(将后面7位转为十进制制),最大正数=01111111=127;官方给出的tinyint取值范围是-128到127,为什么不是-127到127呢,原因在于当10000000时候,此时为-0,当00000000时,此时为+0,这就出现了两个0,而-0没有意义,所以就规定-0时候,储存数字为-128。这样tinyint最大负数=-128
      (2). 第二种储存过程:只存正数,则一个字节最大可以储存1111111=255,即tinyint范围=0~25
    展开全文
  • 1)bigint 存储大小为 8 个字节。 从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据。 2)int 存储大小为 4 个字节。从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型...

    环境:SQLServer 2008 R2

    1)bigint  存储大小为 8 个字节。

    从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据。

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

    int 的 SQL-92 同义字为 integer。

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

    4)tinyint  存储大小为 1 字节。

    从 0 到 255 的整型数据。

     

    sql server的 money 类型其与小数类型 decimal 。

    money                           存储大小为 8字节。         15位.4位

    相当于 decimal(19,4)    存储大小为 9字节             15位.4位(千万亿以下)

     

    smallmoney                存储大小为 4字节                     6位.4位
    相当于decimal(10,4)   存储大小为 9字节       6位.4位(百万以下)

    decimal与money同样的长度与精度,但decimal占用字节数要比money多1个字节(比smallmoney更是要多5个字节),为了通用与标准,建议直接用decimal,牺牲一点硬盘不算啥。

    展开全文
  • MySQL中tinyint类型 特点

    2021-08-26 20:00:35
    tinyint是个数据类型存储很小的整数。带符号的范围是-128到127。无符号的范围是0到255。 此选项不能为空,创建时需要赋值
  • 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...
  • 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。Tinyint...
  • 整数型数据包括bigint型、int型、smallint型和tinyint...bigint型数据可以存储的数值范围是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。 在应用中除非明确说明,否则那些接受int表达...
  • tinyint 范围

    千次阅读 2018-05-07 16:03:54
    最进做项目 要记日志日志表同事建的 关联任务id 用的 tinyint 一开始 测试没问题后来 日志记录里 数据 全是127 纳闷 看了 127的 也没人使用然后 才看到```lang=sqlTINYINT 型的字段如果不设置UNSIGNED类型,存储-128...
  • SQLSERVER 数据类型int、bigint、smallint 和 tinyint范围 【bigint】 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 【int】 从 -2^31 (-2...
  • 出处: ...   目录 使用整数数据的精确数字数据类型。 bigint int smallint tinyint 注释 使用整数数据的精确数字数据类型。   bigint  从 -2^63 (-9223372036854...
  • 前面几节Amy给大家分享了STE集合类型和枚举类型ENUM的测试数据,还没来得及看到的读者可以点击这里查看往期文章。之前看到一些平台上很多人咨询mysql是否提供布尔类型的问题。MySQL数据库确实提供布尔类型,此数据...
  • 整数型数据包括bigint型、int型、bit、smallint型和tinyint型...bigint型数据可以存储的数值范围是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。 在应用中除非明确说明,否则那些接受...
  • 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。 Tinyint...
  • 在这个财务系统中,涉及到公司几个分公司的财务状况,在系统中,标识公司采用的是位二进制(ID)进行存储,前段时间新增了一个新的公司(ID=128),在配置表中进行了相关字段的配置,测试后没啥问题,发到了生产环境,...
  • 使用整数数据的精确数字数据类型。 bigint 数值范围 从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 数值范围 从 -2^31 (-2,147,483,648) 到...
  • 最近使用MySQL数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结: 使用整数数据的精确数字数据...
  • Mysql常用数据类型存储大小及范围

    千次阅读 2019-08-27 17:24:37
    整数型数据类型 类型名称 说明 存储大小 取值范围 TINYINT 很小的正数(一般用于boolean存储) 1个字节 -128~127 unsigned:0~255 SMALLINT 小正数 2个字节 -32768~32767 ...
  • mysql整型bigint、int、mediumint、smallint 和 tinyint的语法介绍,如下: 1、bigint ...从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0...
  • 使用整数数据的精确数字数据类型。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,...
  • 对于单精度浮点数Float: 当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double...
  • int、bigint、smallint 和 tinyint范围

    千次阅读 2017-04-01 14:21:51
    1 bytes = 8 bit ,一个字节最多可以代表的数据... 位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1  2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4  从 0 到 255 的整型数据存储大小为 1
  • tinyint类型代表一个字节,如果一个数字大小超过一个字节,则无法保存。 tinyint有两种类型,第一种(默认)可以储存正负数;第二种指定字段unsigned,只能储存正数。 (1) . 第一种储存过程:一个字节共有8位,将...
  • 存储大小为1 个字节。 unsigned 是从 0 到 255 的整型数据。 所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。 转载于:https://www.cnblogs.com/jinhaidong/p/5944554.html...
  • 使用整数数据的精确数字数据类型。   bigint 从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据 (所有数字)。存储大小为 8 个字节。  www.2cto.com   int 从 -2^31 (-2,...
  • 在C#中,是没有tinyint类型的;而SQL中是有tinyint类型的。项目中有时候使用到deleteFlag,在SQL数据库端定义的类型是tinyint类型,而在C#中,使用edmx进行数据库映射,需要进行类型转换,将tinyint类型转换为C#中的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,395
精华内容 10,558
关键字:

tinyint类型数据存储范围是