黑马程序员技术交流社区
标题:
mysql中的int、bigint、smallint和tinyint的区别
[打印本页]
作者:
huawei
时间:
2016-5-13 14:59
标题:
mysql中的int、bigint、smallint和tinyint的区别
本帖最后由 huawei 于 2017-3-5 11:48 编辑
mysql中的int、bigint、smallint和tinyint的区别
使用整数数据的精确数字数据类型有int、bigint、smallint和tinyint,但是他们有什么区别呢?
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 同义字为 integer。
smallint
从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。
在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint 位于 smallint 和 int 之间。
只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
为了让各位新人更好的理解上面的数据,我们具体举例tinyint如下:
在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255。
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呢?
这就是本文要说的关键地方了:
精华推荐:
2017最新PHP学习路线图(附完整视频资源)+源码+技巧/经验+求职+前景总结!
连续两班仅6日就业率突破53%,看2016PHP课程升级是否成功!
视频集合:众多老学员呐喊:"为什么我选传智PHP"!
作者:
254355878
时间:
2016-10-31 23:18
这个我要看下
作者:
eddies
时间:
2016-11-1 16:34
谢谢分享
作者:
lindsay715
时间:
2016-11-4 17:26
作者:
小小海
时间:
2016-11-9 21:21
ytyhdfgvdsfvds
作者:
echoandprint_r
时间:
2016-11-10 14:36
学习中学习中
作者:
问问111
时间:
2016-11-11 14:40
梵蒂冈地方和法国恢复
作者:
白羊11
时间:
2016-11-16 13:34
ddddddddddd
作者:
jason_QS
时间:
2016-11-18 22:34
smallint和tinyint的区别
作者:
夜歌行
时间:
2016-11-20 15:52
fffffffffffff
作者:
piliyouxia121
时间:
2016-11-24 10:22
谢谢分享
作者:
瑾萱
时间:
2016-11-25 14:01
谢谢分享!!!
作者:
xxt598316205
时间:
2016-11-25 15:22
kakankananna
作者:
ch123cn
时间:
2016-11-25 17:03
RE: mysql中的int、bigint、smallint和tinyint的区别
作者:
tonykanye
时间:
2016-12-1 11:38
怎么有符号的最小值是-127
作者:
hp_eckj_luox
时间:
2016-12-9 15:23
表示用tingint,其他用int够了,金钱用decimal
作者:
_DarkHorse
时间:
2016-12-11 13:13
谢谢老师
作者:
lilongbin2016
时间:
2016-12-11 13:33
谢谢分享
作者:
耀耀耀耀
时间:
2016-12-12 14:35
这个我要看下
作者:
肖肖肖
时间:
2016-12-14 00:11
66666666666666
作者:
踏上PHP征程
时间:
2016-12-18 15:14
好好学习 嘻嘻嘻 嘻嘻嘻
作者:
290422624
时间:
2016-12-22 17:55
跟着大神打天下
作者:
fanphp
时间:
2016-12-24 08:33
谢谢楼主分享
作者:
lcy1069
时间:
2016-12-29 16:05
学习了~~~~~
作者:
VC丶万人敬仰
时间:
2017-1-3 15:53
66666666666666666666666666666666666666666666
作者:
许仙不是仙
时间:
2017-1-13 13:52
fdsgdfsgdfsdasfadsfadsfasdfa
作者:
1317181388
时间:
2017-2-2 23:50
感谢楼主分享
作者:
707621521
时间:
2017-2-6 14:57
整型的细分,不错
作者:
哈哈哈哈哈11
时间:
2017-2-9 17:52
啊啊啊啊
作者:
Cai小神
时间:
2017-2-23 13:19
了解了解
作者:
devil_joker@qq.
时间:
2017-2-23 16:37
4234234234234234
作者:
妖风一阵
时间:
2017-3-7 13:35
一直对这四个数据类型该怎样设置没有确定的方法
作者:
jxson
时间:
2017-3-9 21:10
谢谢分享
作者:
Overflow
时间:
2017-3-13 16:23
111111111111111111
作者:
瞬间回忆
时间:
2017-3-26 16:45
mysql中的int、bigint、smallint和tinyint的区别
作者:
咿呀咿呀哟
时间:
2017-5-1 15:21
感谢分享~
作者:
打小我就行
时间:
2017-6-28 08:47
11211330680
作者:
tjwtjw
时间:
2017-8-24 16:35
66666666666
作者:
yuanlinjiayou
时间:
2017-9-7 17:11
kkkkkkkkkkkkkkkkkkk
作者:
Rakishly
时间:
2017-9-21 15:11
mysql中的int、bigint、smallint和tinyi
作者:
chenkangcong123
时间:
2018-1-29 17:20
感谢楼主
作者:
六点二十二
时间:
2018-9-18 22:07
好内容要学习!!!!!!!!!!!!!!!!!!!!!!!!!
作者:
uuuqqq
时间:
2018-10-7 06:23
看帖不回者 么有小JJ.........
作者:
Joan...ing
时间:
2019-1-6 18:42
作者:
frmsceg
时间:
2019-4-1 09:49
谢谢分享
作者:
Try-again
时间:
2021-4-29 19:56
PHP新手必知
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2