广告
返回顶部
首页 > 资讯 > 数据库 >Mysql中tinyint(1)和tinyint(4)的区别详析
  • 121
分享到

Mysql中tinyint(1)和tinyint(4)的区别详析

2024-04-02 19:04:59 121人浏览 独家记忆
摘要

目录1. varchar(M)和数值类型tinyint(M) 的区别2 测试总结1. varchar(M)和数值类型tinyint(M) 的区

1. varchar(M)和数值类型tinyint(M) 的区别

        字符串类型: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。tinyint后面括号的数字,和存储的值没有任何关系,只是在某些情况下和显示的宽度有关系。 

2 测试

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

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

1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是

-128到127

1.BIT[M]

位字段类型,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)区别的文章就介绍到这了,更多相关Mysql tinyint(1)和tinyint(4)区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql中tinyint(1)和tinyint(4)的区别详析

本文链接: https://www.lsjlt.com/news/139817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作