首页 > 编程知识 正文

int和tinyint的区别,mysql删除字段语句

时间:2023-05-05 15:13:37 阅读:114233 作者:4942

tinyint存储在一个字节中为8位,只能包含2^8个数字,即256个数字。 在mysql实现中,有符号为-128-127,无符号为0-255

tinyint后面带括号的数字以后称为m,与存储的值没有任何关系,但有时与显示的宽度有关

1 .常规测试

使用基本表格插入基本数据

查询后发现没有任何区别

你会发现没有任何区别。 实际上没有任何区别。 如果用navicat等工具尝试,就会发现没有任何不同。 有关详细信息,请参阅引用http://www.void cn.com/article/p-kekzoqwy-bsk.html中的Aamir答案进行良好的验证。

2 .无符号表格,同时zerofill

制作表格的基本句子如下

最后的查询结果如下,很明显

zerofill中的整数字段必须无符号。 现在,您可以看到m显示了特定的宽度。 不够时填0,多余时不处理

官方文档的解释为5.7英文版

这里摘录其中重要的一段

mysqlsupportsanextensionforoptionallyspecifyingthedisplaywidthofintegerdatatypesinparenthesesfollowingthebasekeywordforthetype specifiesanintwithadisplaywidthoffourdigits.thisoptionaldisplaywidthmaybeusedbyapplicationstodisplayintegervalueshavingawidawididttitod edforthecolumnbyleft-paddingthemwithspaces.(thatis,thiswidthispresentinthemetadatareturnedwithresultsets.whetherititisure

thedisplaywidthdoesnotconstraintherangeofvaluesthatcanbestoredinthecolumn.nordoesitpreventvalueswiderthanthecolumndisplaywid tly.forexample,acolumnspecifiedassmallint(3) hastheusualsmallintrangeof-32768 to 32767,andvaluesoutsidetherangepepermitrant

whenusedinconjunctionwiththeoptional (nonstandard ) attribute ZEROFILL,thedefaultpaddingofspacesisreplacedwithzeros.forex arax

到此为止,我们的结论也验证了。

绝对与保存的值无关

mysql控制台也会忽略这些

对于无符号和zerofill,填充0,并显示为与m对应的宽度

整数类型都相同,有默认的显示宽度

m作为元数据存储推荐的是显示宽度,但最终解释权归程序所有

最后,提出了我的建议。 那就是m实际上没有用。 tinyint的默认值为4,其馀的也有默认值。 在今后的程序开发中,涉及整形数字m时,可以不要在意,直接忽略,最后使用数据库的默认m值即可

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。