1. varchar(M)和数值类型tinyint(M) 的%ignore_a_1%
字符串类型:varchar(m)而言,m是字段中可以存储的最大字符串,也就是说字段长度。根据设置,当你插入的数值超过字段设置的长度时,很有可能会收到错误提示,如果没有收到提示,插入的数据也有可能被自动的截断以适应该字段的预定义长度。所有像varchar(5)表示其存储的字符串长度不能超过5。
数值列类型:其长度修饰符表示最大宽度,与该字段物理存储没有任何关系,也就是说,tinyint(1)和tinyint(4)有符号的情况下存储范围都是-128到127(没有符号就是0到255)。
注意:有符号默认范围(-128~127),默认长度是4.
无符号默认范围(0~255),默认长度是3.
如果使用了zerofill,当实际长度达不到指定的显示长度时,就会用0在前面补齐。
在mysql的数据类型中,tinyin与其带不带符号有关系,带符号取值范围为-128~127.不带符号为0~255。括号中的数字与存储的值无关,仅在某些情况下与显示宽度有关。

2 测试

当将字符串类型的name字段设置的长度超过5会怎样?

当将tinyint类型的(有符号)age字段设置范围不在(-128~127)会怎样?


1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是
-128到127
1.BIT[M]
Soundful
Soundful Ai音乐生成器,只需一个按钮即可生成免版税曲目
240 查看详情
位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1
2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4
很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
3. BOOL,BOOLEAN
是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6
小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9
中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
6. INT[(M)] [UNSIGNED] [ZEROFILL] M默认为11
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数。符号化区间为-9223372036854775808至9223372036854775807。无符号的范围是0到18446744073709551615。
注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。
以上就是Mysql中tinyint(1)和tinyint(4)的区别是什么的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/758208.html
微信扫一扫
支付宝扫一扫