码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据类型

时间:2018-06-03 17:29:43      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:mys   color   长度   最小值   添加   重点   限制   没有   宽度   

数值类型

整数类型

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

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

  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数据类型

标签:mys   color   长度   最小值   添加   重点   限制   没有   宽度   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!