首页 > 数据库技术 > 详细

MySQL数据类型

时间:2018-06-03 16:45:05      阅读:179      评论:0      收藏:0      [点我收藏+]

数值类型

整数类型

当插入的数值超出类型的范围时,只保留到最大范围值。

约束类型是有符号还是无符号:

  1. 默认的整数类型为有符号数。

  2. 指定无符号用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

MySQL数据类型

原文:https://www.cnblogs.com/sly27/p/9129587.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!