mysql数据库TINYINT取值范围详解

分享下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 的蕴藏空间。

相关文章