navicat for java设计表时长度的作用

来源:互联网 发布:经典文学书籍推荐知乎 编辑:程序博客网 时间:2024/06/03 19:55

一,实践是检验真理的唯一标准
实验需要的工具,最好是最新版本的mysql命令行工具和navicat客户端软件。
这个长度到底什么用呢?

这里写图片描述
我们现在mysql命令行实用工具下建一个表
这里写图片描述
之所以不用navicat建表,是因为它应改不可以指定zerofill填充零。

我们用navicat(或者mysql命令行)为每一列插入数据123观察表的显示,如图:
这里写图片描述
发现并没有什么特别之处,细心的朋友能发现line5,line6的对齐方式是靠左的,其他靠右。这是因为line5,line6是char类型(靠左),而其他是int类型(靠右),这和Excel的默认对齐是一样的。
他在mysql命令行下的显示是这样的,如图:
这里写图片描述
也就是说没有zerofill,对int(等整数类型,如smallint)的显示,指定长度与否是没有任何影响的。

你可能会想是不是指定长度多少位就能输入多少位的数据呢(换句话说,影响了int等类型的大小)?
int表示的最大数是2147483647(十位数,百度的,开始以为是65535,),我们在line4(定义为int(11)上输入十一位会怎么样呢?

如图:
这里写图片描述
超出了int类型能够显示的范围,并不像我们想的那样能输十一位。别灰心,长度对int类型没影响,那么char类型呢?
我们分别在line5(定义为char(4)),line6(定义为char(11))上输入6个字符呢?
读者自己试验试试,对于line6是成功的。而对于line5呢?
如图:这里写图片描述

总结:忽略zerofill的影响(其实目前我还也不明白zerofill填充0的意义所在),

“长度”的设置对int型(包括和int型相关的类型如smallint等)数据的显示和大小没有任何影响,所以不用设置。对char型数据,长度的设置影响输入字符串的大小(即长度,char(4)意味着只能在表中输入最多四个字符)。

如果,您觉得文章对您有些许用处请给个赞,还需要改进请点踩或留言。您的反馈,将有利于大家共同进步。谢谢。