Mysql中tinyint(1)与tinyint(4)的区别

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

Mysql中tinyint(1)与tinyint(4)的区别_第1张图片

2 测试

Mysql中tinyint(1)与tinyint(4)的区别_第2张图片

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

Mysql中tinyint(1)与tinyint(4)的区别_第3张图片

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

Mysql中tinyint(1)与tinyint(4)的区别_第4张图片

Mysql中tinyint(1)与tinyint(4)的区别_第5张图片

你可能感兴趣的:(mysql,java,数据库)