`

mysql中tinyint相关的知识

阅读更多
tinyint(1)==boolean
写查询语句的时候要“字段*1 as name” 转一下,出来的就是1,0,取的时候用bigInteger获取
tinyint(4)==3位的Int


mysql中tinyint、smallint、int和bigint类型的用法区别:
在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》

Tinyint占用1字节的存储空间,即8位(bit)。那么Tinyint的取值范围怎么来的呢?我们先看无符号的情况。无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0.无符号的最大值即全部8bit都为1,11111111,换算成十进制就是255.这很好理解。

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

11111111=-127

表示负值
最大值:
01111111=+127
表示正值

怎么有符号的最小值是-127,而不是-128呢?这就是本文要说的关键地方了,在计算机中,表示负值是用补码(正码、反码、补码的概念见 http://indian.blog.163.com/blog/static/1088158200610942745817/)
为什么有符号的TINYINT的最小值是-128?虽然“-0”也是“0”,但根据正、反、补码体系,“-0”的补码和“+0”是不同的,这样就出现两个补码代表一个数值的情况。为了将补码与数字一一对应,所以人为规定“0”一律用“+0”代表。同时为了充分利用资源,就将原来本应该表示“-0”的补码规定为代表-128。
使用整数数据的精确数字数据类型。

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

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。
分享到:
评论

相关推荐

    mysql中TINYINT的取值范围

    主要介绍了mysql中TINYINT的取值范围,需要的朋友可以参考下

    mysql int和tinyint的区别.docx

    mysql int和tinyint的区别.docx

    Mybatis Generator将tinyint映射成Integer的解决办法.pdf

    Mybatis Generator将tinyint映射成Integer的解决办法

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

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint;接下来将详细介绍以上三种类型的应用

    Mysql数据库设计.pdf

    Mysql数据库设计 数据库设计 MYSQL数据库设计 串转义序列 \0 NUL(ASCLL 0) \' \" \b 退格 \n 新⾏ \r 回车 \t 制表符 \\ 反斜杠 数值列类型 TINYINT 1字节 ⾮常⼩的整数 有符号值:-128⾄127 ⽆符号值:0⾄255 ...

    MYSQL安装包官方试用版

    这说明MySQL簇中的表中的VARCHAR列的行为如同类型CHAR(不同的是每个记录仍然有一个额外字节空间)。例如,在Cluster表中,声明为VARCHAR(100)的列中的每个记录存储时将占用101个字节,无论实际存储的记录中的字符串的...

    mybatis-generator自动生成工具,包含tinyint处理,自动获取数据库注释

    mybatis-generator自动生成工具,包含tinyint处理,自动获取数据库注释

    mysql创建表方法.zip

    下面我将详细解释如何在 MySQL 中创建表,并给出一个完整的例子。 • 表名:你想要创建的表的名称。 • 列名:表中的列(字段)的名称。 • 数据类型:列中存储的数据的类型,如 INT、VARCHAR、DATE 等。 • 约束:...

    新华字典MySQL数据

    新华字典MySQL数据 CREATE TABLE `xhzd_surnfu` ( `id` int(8) NOT NULL AUTO_INCREMENT COMMENT '主键自增id', `zi` varchar(6) NOT NULL DEFAULT '' COMMENT '汉字', `py` varchar(32) NOT NULL DEFAULT '' ...

    MySQL命令.docx

    例:#MYSQL的建表语法 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] TABLE_NAME [(CREATE_DEFINITION,…)] [TABLE_OPTIONS] [SELECT_STATEMENT] 说明: TEMPORARY :表示创建临时表,在当前会话结束后将自动消失 ...

    C#的数据类型

    C#的数据类型。具体的解释了C#的各个数据类型的用法及释义,欢迎下载!

    中国行政区mysql表及数据

    `type` tinyint(1) DEFAULT NULL COMMENT '1省,2市,3县', `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标识0正常,1删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=820001 DEFAULT CHARSET=...

    简单了解mysql存储字段类型查询效率

    第一:tinyint,smallint,mediumint,int,bigint 第二:char,varchar 第三:NULL 解释(转载): 整数类型 1、TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,分别用8,16,24,32,64存 2、整数都有UNSIGNED可选...

    JDBC数据类型与数据库字段对应表——mysql篇

    JDBC数据类型与数据库字段对应表——mysql篇 数值型 整型 JDBC tinyint java.lang.Integer smallint mediumint java.lang.Long int bigint java.math.BigInteger

    mss2mysql数据库sqlserver迁移mysql

    使用mss2sql生产数据库定义,在用navicat做数据迁移...mss2mysql生产的表定义需要稍微改动下,如mssql datetime类型默认保存到毫秒,mysql需要定义datetime(3),bit 类型转成mysql要换成tinyint。还可能遇到字符编码问题

    MySQL 数据类型 详解

    MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字节 范围(-8388608~8388607) int(m) 4个字节 范围(-2147483648~2147483647) ...

    最新省市区联动查询,mysql数据全

    `deep` tinyint(1) NOT NULL DEFAULT 0 COMMENT '层级(0 省 1市 2 区)', `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称', `pinyin` varchar(64) ...

    MySQL数据库:表的字段类型.pptx

    作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。 表的字段类型 数值类型 表的字段类型 日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每个时间类型有...

Global site tag (gtag.js) - Google Analytics