mysql中的int(11)到底代表什么意思?

这里的int(11)不是表示限制int的长度为11,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的

那么这个显示宽度到底有什么用呢?

当 int 字段类型设置为无符号且填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,为什么会有无符号的限制呢,是因为 ZEROFILL 属性会隐式地将数值转为无符号型,因此不能存储负的数值

CREATE TABLE int_demo (id INT(11) NOT NULL AUTO_INCREMENT,a INT(11) NOT NULL,b INT(11) UNSIGNED ZEROFILL NOT NULL,c INT(5) DEFAULT NULL,d INT(5) UNSIGNED ZEROFILL NOT NULL,e INT(15) DEFAULT NULL,PRIMARY KEY (`id`)
)INSERT INTO int_demo (a, b, c, d, e) VALUES (1, 1, 1, 1, 1);
INSERT INTO int_demo (a, b, c, d, e) VALUES (1234567890, 1234567890, 1234567890, 1234567890, 1234567890);

结论:

1、如果一个字段设置了无符号和填充零属性,那么无论这个字段存储什么数值,数值的长度都会与设置的显示宽度一致,如上述例子中的字段 b,插入数值 1 显示为00000000001,左边补了 10 个零直至长度达到 11 位;

2、设置字段的显示宽度并不限制字段存储值的范围,比如字段 d 设置为 int(5),但是仍然可以存储 1234567890 这个 10 位数字;

3、设置的字符宽度只对数值长度不满足宽度时有效,如 d 字段 int(5),插入 1 时,长度不足 5,因此在左边补充 4 个零直到 5 位,但是插入 1234567890 时超过了 5 位,这时的显示宽度就起不了作用了

mysql中的int(11)到底代表什么意思?相关推荐

  1. int mysql_「MYSQL」MYSQL中的int(11)到底代表什么意思?

    一.前言 在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番. 二.简介 对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用 ...

  2. MySql 中的 int(11) 到底代表什么意思?

      对于 int 类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的 int(11) 代表什么意思,很长时间以来我都以为这代表着限制 int 的长度为 11 位,直到有天看到篇文章才明白 ...

  3. 用通俗易懂的大白话彻底搞明白mysql的数据类型以及mysql中的int(11),这个11到底是啥?

    今天抽时间来讲一下mysql里的知识点,之前有不少人问过我,mysql中的int(11),这个11到底是啥意思?是11位的意思吗?你是否也想过这个问题,是否也有这个疑问? ok,今天就展开来讲一下,用 ...

  4. mysql int()_简单谈谈MySQL中的int(m)

    我们在设计表的时候,如果碰到需要设置int(整型)的时候,通常会按照惯例(大家都这样写)设置成int(11).那么这里为什么是11呢?代表的又是什么呢? 以前我一直以为这里是在限制int显示的宽度,后 ...

  5. mysql的smallint,在MySQL中对int使用smallint数据类型是否确实节省了内存?

    Does using a smallint datatype in a mysql table over a regular int actually improve memory usage? Wo ...

  6. int(11)到底占几个字节,亲测保证可靠

    前言 你是不是一直以为Int(11)就是占11个字节,int(3)就是占3个字节,如果你是这样想的那就大错特错了,这里小编就带着大家一起重新巩固学习吧,打破之前的错误"认为". 开 ...

  7. 关于C中的Int类型到底是几个字节。

    C语言标准是这样规定的:int最少16位(2字节),long不能比int短,short不能比int长,具体位长由编译器开发商根据各种情况自己决定.在32位x86处理器上,short.int.long普 ...

  8. mysql int 11 最大多少_types - mysql中int(11)列的大小(以字节为单位)是多少?...

    types - mysql中int(11)列的大小(以字节为单位)是多少? 以字节为单位的mysql中int(11)列的大小是多少? 并且可以存储在此列中的最大值? Gaurav asked 2019 ...

  9. Mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    下表是各类型信息: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到127 1. BIT[M] 位字段类型,M表示每个值的位数 ...

  10. mysql中int长度及有符号无符号

    mysql的int储存的值的长度与设置的int长度无关, 如int(3)表示只能储存3位数字int(11)能存储11位数字.其实这根本就是大错特错. mysql手册是这样写的:MySQL还支持选择在该 ...

最新文章

  1. 科研杂谈 | 全球最大的数字图书馆
  2. php阿里大于验证码开发,阿里大于验证码发送 (ThinkPhp框架)
  3. 4.7地铁查询开发进度
  4. (bfs)连连看(hdu1175)
  5. 多用户访问SSAS cube权限设置
  6. mybatis运行流程
  7. Selenium2学习笔记——自动化环境搭建
  8. 自动驾驶应用加速 模拟仿真技术是关键之一
  9. Geodatabase
  10. 配色三部曲-你真懂这些色彩术语吗?
  11. Qt QWidget视频上叠加文字
  12. 献给七夕|微生物和您的爱情生活
  13. android证书管理
  14. dd软件linux,dd工具
  15. PDF文件如何快速转换成Word文件?两个方法教你搞定
  16. Powerdesinger使用心得
  17. 计算机如何更新目录,wps怎么更新目录【具体阐明】
  18. MySQL数据库的管理工具
  19. c语言流星雨程序下载,c语言 流星雨的实现.doc
  20. DDR布局布线规则与过程

热门文章

  1. 151只宝可梦(神奇宝贝)倒背的我,却连元素周期表都背不过 -- Python 爬虫小课 3-9
  2. 小柯-java 进阶
  3. 第九章 亚瑟龙的召唤
  4. word设置标题自动编号
  5. DataFrame切片
  6. jxd android 4.1刷机包,金星JXD V3固件
  7. c语言程序设计第39级台阶,2013 年蓝桥杯 C 语言 B 组省赛第 3 题: 第39级台阶
  8. Android自学笔记:Tab控件源码剖析
  9. 差点跑进奥运会赛场的“人类计算机之父”
  10. iPhone 开发常用工具