MySQL数据库中数值字段类型长度int(11)和Decimal(M,D)详解

一、Mysql中数值类型

下图为Mysql支持的数值类型及取值范围

在这里插入图片描述


  1. BIT[M] 位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1
  2. TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4 ,小的整数。带符号的范围是-128到127。无符号的范围是0到255。
  3. SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6 ,小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
  4. MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9 ,中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
  5. INT[(M)] [UNSIGNED] [ZEROFILL] M默认为11 ,普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
  6. BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20 ,大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

需要注意 \color{#05F}{需要注意} 需要注意

这里的M代表的并不是存储在数据库中的具体的长度,如果误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是不对的 tinyint(1) 和 tinyint(4) 中的1和4并不表示存储长度,只有字段指定zerofill才是有用(也就是零填充时), 如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充`。

二、有无限制的区别是什么

  1. 对应Integer 类型而言,仅表示字段的显示宽度。
  2. 对于DECIMAL类型,表示数字的总数。
  3. 对于字符字段,这是可以存储的最大字符数,例如VARCHAR(20)可以存储20个字符。
  4. 显示宽度并不影响可以存储在该列中的最大值。int(5)和int(11) 所能存储的最大范围是一样的。
  5. 将某个字段设置成INT(20)并不意味着将能够存储20位数字,这个字段最终能存储的最大范围还是 INT 的范围。

三、有无符号的区别是什么

那么问题来了,既然加不加数字并没有什么区别,那为什么还多此一举呢?

“正常”情况下确实没有什么区别,只有当字段设置为UNSIGNED ZEROFILL 属性时,INT 增加数字才会有意义。
表示如果要存储的数字少于N 个字符,则这些数字将在左侧补零。

四、常用的int(11)代表什么意思

id INT(11) NOT NULL AUTO_INCREMENT,

在一些建表语句会出现上面 int(11) 的类型,那么其代表什么意思呢?

  1. 对于Integer类型括号中的数字称为字段的显示宽度。这与其他类型字段的含义不同。
  2. 显示宽度并不影响可以存储在该列中的最大值。INT(5) 和 INT(11)可以存储相同的最大值。哪怕设置成 INT(20) 并不意味着将能够存储20位数字(BIGINT),该列还是只能存储INT的最大值。
  3. 对于DECIMAL类型,表示数字的总数。
  4. 对于字符字段,这是可以存储的最大字符数,例如VARCHAR(20)可以存储20个字符。

当列设置为UNSIGNED ZEROFILL时,INT(11)才有意义,其表示的意思为如果要存储的数字少于11个字符,则这些数字将在左侧补零。

五、简述Decimal(M,D)数据类型用法

当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型。

1.简述

语法是DECIMAL(M,D)

  • DECIMAL(M,D)中M为总长度,D为小数点后的保留的位数,M范围是1到65,D范围是0到30。
  • M大于D,存储数值时,小数位不足会自动补0,首位数字为0自动忽略。

2.重点

在这里插入图片描述

六、总结

  1. 对于Integer 类型而言,“数字”并不会限制其能存储的最大范围。
  2. DECIMAL(M,D)中M为总长度,D为小数点后的保留的位数
  3. 对于字符字段,这是可以存储的最大字符数,例如VARCHAR(20)最多存储20个字符。
  4. 如果误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是不对的 3和11并不表示存储长度,只有字段指定zerofill才是有用(也就是零填充时),左边用0来填充`。**
Dream_sky分享
关注 关注
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Mysql decimal(m,d)的说明
Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发
02-02 3万+
看了一些博客,觉得很多都是复制的,不如自己亲测一篇: create table decimal_test( id int auto_increment PRIMARY key, score decimal(5,2) -- 取值范围是 -999.99 到 999.99 ); -- 整数的位数必须小于等于m-d,不然报错。小数的位数可以大于d位。多...
MYSQL数据类型DECIMAL用法:
weixin_52248374的博客
03-30 733
(因为 d = 1 要求小数点后是一位数,所以不是 1.21,结果的有效位数为 2< p,符合要求,故为 1.2),题目要求小数点后有一位,整数位 + d < p ,小数点后补 0,补 1 位(因为 d = 1)。,题目要求小数点后有一位,是整数的话且整数位+小数位 <= p ,小数点后补 0。默认不写的话 decimal () p =10,d = 0;,小数点后遵循四舍五入,0.5656 保留一位小数值为 0.6。121 的没有小数部分,不满足 d = 1,符合要求 p = 3, d = 1;
mysql integer 和 java integer 最大长度
最新发布
weixin_42493639的博客
07-26 77
MySQL Integer 和 Java Integer 的最大长度对比 在软件开发,数据类型是程序设计的基础。正确地选择和使用数据类型,可以提高程序的性能和稳定性。本文将探讨 MySQL 数据库Integer 类型Java 语言Integer 类型的最大长度,并进行对比分析。 1. MySQL 的 I...
int长度_详解 MySQL int 类型长度值问题
weixin_39801075的博客
11-23 317
mysql 在建表的时候 int 类型后的长度代表什么?是该列允许存储值的最大宽度吗?为什么我设置成 int (1), 也一样能存 10,100,1000 呢.当时我虽然知道 int (1), 这个长度 1 并不代表允许存储的宽度,但却没有一个合理的解释。或者说对这个长度也没有真正的研究过到底代表什么,平时都用 int (11), 也不知道为什么要 11 位。所以我在网上查阅了一些资料,也仔细的看...
MySQL字段int类型长度INT(M)
乖乖康少
04-28 2万+
关于mysql数据库字段长度的一个解释,一直以为int长度为1时,只能插入0-9的数字,发现完全不是,具体如下: 1、varchar类型长度是指这个字段的字符(字母或汉字)个数。 2、数字类型长度不是这个意思: (1)int类型 INT(M),M代表的是显示宽度,长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长...
数据库decimal用法
十字路口的转角~转角的十字路口
01-25 1985
它们都是数值数据类型。可以规定其精度。   直接给个例子。   decimal(5,2)    其 5 为最多可以存储的十进制位数为5位,是小数点前后的位数总和。      2表示小数点后面的位数。      例如100.20是合法的值,而1234.56,总数为6位,为非法的数据值。      有人说那存12345应该可以吧。事实证明是不行的。因为其精度是2,所以...
navicat设置MySQL字段int类型长度INT(M)
透明大脑
10-14 3万+
1.varchar类型长度是指这个字段的字符(字母或汉字)个数。 2.数字类型长度就不是这个意思,更为复杂。 int类型长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1) tinyint类型长度设定值范围1~255(设置0时自动转...
mysql int之显示长度
微尘的世界
11-03 453
mysql int之显示长度 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 类型 字节 最小值 最大值     (带符号的/无符号的) (带符号的/无符号的) TINYINT 1 ...
详解MySQL数据类型DECIMAL(N,M)N和M分别表示的含义
12-16
同事问MySQL数据类型DECIMAL(N,M)N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了...
mysql数据类型字段属性原理与用法详解
09-08
MySQL数据库是世界上最流行的开源关系型数据库之一,其数据类型字段属性是数据库设计的基础,对存储和处理数据的效率有着直接影响。本篇文章将深入探讨MySQL的数据类型字段属性,帮助你更好地理解和运用它们。...
MySql所有字段类型长度范围
07-10
### MySQL所有字段类型长度范围详解数据库设计与应用开发过程,选择合适的字段类型对于确保数据的准确存储和高效处理至关重要。MySQL提供了丰富的数据类型,涵盖了数字、字符串、日期时间等多种类别,满足了...
MySQL入门(二) 数据库数据类型详解
09-09
MySQL,数据类型主要分为五大类:整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型以及二进制类型。 1. **整数类型**: - TINYINT:占用1个字节,无符号取值范围是0到255,有符号取值范围是-128...
详解mysql字段类型int(4) int(10)等区别
sinat_38804294的博客
05-10 3433
一、mysql字段类型大致可以分为:数值、日期/时间、字符串 数值类型:tinyint,smallint,mediumint,int/integer,bigint,float,double,decimal 日期/时间类型:datetime,date,timestamp,time,year 每个时间类型有一个有效值范围和一个零值,当指定不合法的mysql不能表示的值时使用零值 TIMESTAMP类...
mysql 字段类型说明
南海神尼
04-06 1634
  MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值
mysql整数类型int后面的长度有什么意义
weixin_30765577的博客
07-29 581
int 的 SQL-92 同义字为 integer。SQL-92 是数据库的一个标准。 int类型的存储大小为4个字节 unsigned(无符号) int 存储范围是 2^4*8 int(M) 的M表示什么? M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。 当实际的值的长度 小于 (M)时,可以使用zerofill属性,让该值从左侧填满长度...
mysql intdecimal哪个好_MySQL数字类型int与tinyint、float与decimal如何选择-阿里云开发者社区...
weixin_34597791的博客
01-27 624
最近在准备给开发做一个mysql数据库开发规范方面培训,一步一步来,结合在生产环境发现的数据库方面的问题,从几个常用的数据类型说起。int、tinyint与bigint它们都是(精确)整型数据类型,但是占用字节数和表达的范围不同。首先没有这个表就说不过去了:TypeStorageMinimum ValueMaximum Value(Bytes)(Signed/Unsigned)(Signed/Un...
Mysql 数据库 int 类型长度
qianqian的博客
01-02 1万+
Mysql 我们平时创建一个表对 int 类型习惯设置 int(11) ,不知道你有没有试过设置其他长度有什么影响吗? 下面咱们来实验一下啦。 以下是每个整数类型的存储和范围: 类型 字节 最小值 最大值 (带符号的/无符号的) (带符号的/无符号的) TINYINT 1 ..
int类型的数据长度
热门推荐
火星人
07-26 4万+
1.在32的机器下,int的范围是 - 2 ^ 31 ~2 ^ 31 - 1;  也就是:[-2147483648, 2147483647];   在16的机器下,int的范围为 -2 ^ 15 ~ 2 ^ 15-1;也就是 :[-32768,32767]; 整型变量int的范围与计算机的字长有关,int长度是一个计算机字长。 2.int n = -2147483648 时,会发生
数据库字段长度
dctCheng的博客
06-16 4253
数据库字段长度介绍
写文章

热门文章

  • Spring Boot自动装配原理(易懂) 22613
  • Swagger3 使用介绍 8989
  • List集合遍历过程中修改元素,这个坑踩一次就够了 8896
  • DataGrip使用技巧总结 7708
  • 达梦数据库相关SQL及适配Mysql配置总结 5308

分类专栏

  • MyCat 1篇
  • 数据结构与算法 5篇
  • 定时任务 1篇
  • 文件存储 1篇
  • 数据库 1篇
  • 多数据源 1篇
  • Spring Cloud 10篇
  • WebSocket 1篇
  • Spring 2篇
  • 压缩 1篇
  • Lua 1篇
  • mq 1篇
  • 安卓 1篇
  • java 11篇
  • 正则表达式 1篇
  • Elasticsearch 3篇
  • 分布式文件存储 1篇
  • docker 1篇
  • Mysql 3篇
  • MongoDB 1篇
  • shell脚本 7篇

最新评论

  • Nacos服务注册成功,RestTemplate调用服务提供者时空指针异常(已解决)

    2401_84085361: 大佬,我也是这个问题,但是我在com包下再加了一层包,还是不行啊表情包

  • Nacos服务注册成功,RestTemplate调用服务提供者时空指针异常(已解决)

    2401_84085361: 大佬,我也是这个问题,但是我在com包下再加了一层包,还是不行啊表情包

  • Nacos服务注册成功,RestTemplate调用服务提供者时空指针异常(已解决)

    weixin_36278725: 我擦, 大哥, 谢谢你了, 我tm找问题, 找了6个小时了, 各种百度, 真是太感谢了

  • Swagger3 使用介绍

    紧拥背影: 为什么我用中文名字分组的时候不支持呢,用中文就报错。

  • Lua语法基本使用

    全栈小5: 写的非常详细,是一篇优质博客,干货满满,让我有了全新的认识,感谢博主分享,让我学到了很多,支持支持。【Lua语法基本使用,博主这篇文章,值得一看】

大家在看

  • 【数据结构】图的遍历
  • ModbusTCP通讯错误的排查 529
  • 黑马三浪均线技术战法,一浪放量吸筹,二浪洗盘后,三浪回踩中期线拉升主升浪
  • 6.数据库-数据库设计
  • 嵌入式常用硬件电路设计及分析 — 通信篇 1570

最新文章

  • 本地进程缓存 Caffeine
  • 定时任务框架 xxl-job
  • Linux安装minio及mc客户端(包含ARM处理器架构)
2024年10篇
2023年57篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream_sky分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王网站优化的忌讳如何优化网站脱颖而出茂名整站优化网站靖江网站优化哪家专业网站优化排名e临沂seo优化网站规模大的传统行业网站优化平台甘肃网站怎么优化网站关键词优化需要注意什么东莞常平网站优化东莞优化型网站口碑好的网站优化软件南县网站优化排名园区网站推广优化乌海海南网站优化推广网站优化之后多久可以上网站如何优化关键词步骤详解遂宁网站优化哪家强沁阳外贸网站优化方案吉水网站seo优化从化市网站优化有经验的网站优化慈溪网站推广优化保定网站搜索排名优化要多少钱网站搜索引擎优化改善方面网站自然优化分类外贸TM 网站宣传优化百度网站的优化策略最好的网站排名优化公司网站优化和网络推广香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化