标签:mys color 长度 最小值 添加 重点 限制 没有 宽度
当插入的数值超出类型的范围时,只保留到最大范围值。
约束类型是有符号还是无符号:
默认的整数类型为有符号数。
指定无符号用unsigned
例:create table t1(x tinyint unsigned) 注:tinyint 有符号范围-128至127,无符号为0至255。
【重点】对于整形类型,MySQL的宽度限制不是限定类型的数值宽度,而是限制显示宽度,(即,在用select语句查询的时候,在表格显示的宽度,只有数值小于限制宽度时才有效果,超出宽度值,按数值的实际长度显示)
加入zerofill在语句的最后,表示用零填充。 例如:create table t1(id int(5) unsigned zerofill); 创建一个表,类型为int ,宽度为5 无符号,少位用0添加。 ======用zerofill测试整数类型的显示宽度============= MariaDB [db1]> create table t7(x int(3) zerofill); MariaDB [db1]> insert into t7 values -> (1), -> (11), -> (111), -> (1111); MariaDB [db1]> select * from t7; +------+ | x | +------+ | 001 | | 011 | | 111 | | 1111 | #超过宽度限制仍然可以存 +------+
int的存储宽度是4个Bytes,即32个bit,即2**32
无符号最大值为:4294967296-1
有符号最大值:2147483648-1
有符号和无符号的最大数字需要的显示宽度均为10,而针对有符号的最小值则需要11位才能显示完全,所以int类型默认的显示宽度为11是非常合理的
最后:整形类型,其实没有必要指定显示宽度,使用默认的就ok
标签:mys color 长度 最小值 添加 重点 限制 没有 宽度
原文地址:https://www.cnblogs.com/sly27/p/9129587.html