MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型

数值类型中又可以分为整型、浮点型,或者可以说为严格数值数据类型以及近似数值数据类型

分别为 tinyint(m)、smallint(m)、mediumint(m)、int(m)、bigint(m)、float(m,d)、double(m,d)、decimal(m,d)

字节

1 bytes = 8 bit,1 个字节最多可以代表的数据长度是 2 的 8 次方11111111,在计算机中也就是-128 到 127

65535

在开发中遇到了一个存进程 id 的字段,设置了一个 smallint unsigned 类型,结果出现了所有进程 id 都为 65535

这个值有点特殊,端口的最大值也为 65535

计算机是按照二进制储存数据的,一般用 unsigned int 这种数据类型来储存正整数

在计算机中,每个整数都是用 16 位 2 进制数来表示的,所以最大的数就是 16 个 1,也就是 11111111 11111111

把二进制数 11111111 11111111 转化位十进制数就是 65535

区别

存储范围不同,分别为

smallint

说到了 65535,那就先说一下 smallint

2 个字节,用于小的整数,带符号的范围是-32768 到 32767,无符号的范围是 0 到 65535

我遇到的问题就是进程 id 超过 65535,入库的时候都被压为了 65535 导致

tinyint

1 个字节,用于很小的整数,带符号的范围是-128 到 127,无符号的范围是 0 到 255

mediumint

3 个字节,用于中等大小的整数,带符号的范围是-8388608 到 8388607,无符号的范围是 0 到 16777215

int

4 个字节,用于普通大小的整数,带符号的范围是-2147483648 到 2147483647,无符号的范围是 0 到 4294967295

bigint

8 个字节,用于极大整数,带符号的范围是-9223372036854775808 到 9223372036854775807,无符号的范围是 0 到 18446744073709551615

m 是什么意思

比如经常用到的 int(11),这里是 11 是什么意思,只能存 11 位数吗?当然不是

这个长度 11 并不代表允许存储的宽度,而是为了告诉 MySQL 数据库,我们这个字段的存储的数据的宽度为 M 位数, 当然如果你不是 M 位数(只要在该类型的存储范围之内)MySQL 也能正常存储

其他的数值类型中的 m 同理,int(1)和 int(11)中的 1 和 11 并不表示存储长度,只有字段指定 zerofill 时有用

`tel` int(11) unsigned zerofill NOT NULL,

如果实际值是 1234567891,指定了 zerofill,查询结果就是 01234567891,左边用 0 来填充。

本文标签:这篇文章木有标签

版权声明:若无特殊注明,本文为《周小雨》原创,转载请保留文章出处。

本文链接:https://zxyy.me/post-159.html

正文到此结束

mysql mediumint是什么类型_MySQL中数值类型中smallint、mediumint等区别是什么 - 晓雨网...相关推荐

  1. mysql数据库数字类型_Mysql 数据库数值类型详解

    MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...

  2. 将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程

    /*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程 --邹建 2004.02(引用请保留此信息)--*/     /*--调用示例:         ...

  3. python中的数值类型有哪些,Python中数值类型有哪些

    Python中数值类型有哪些 发布时间:2020-12-15 09:32:58 来源:亿速云 阅读:92 作者:小新 小编给大家分享一下Python中数值类型有哪些,相信大部分人都还不怎么了解,因此分 ...

  4. 如何将货币类字符串类型变更为数值类型

    文件导入后列属性为 object,想要类型修改为数值类型便于数据分析,使用以下代码不成功: donations = donations.astype({'DemMedHomeValue':'float ...

  5. mysql可以存储整数数值的是_MySQL的数值类型

    MySQL的数值类型 整数类型 整数类型包含TINYINT.SMALLINT.MEDIUMINT.INT. BIGINT等. 存取范围类型存储大小默认显示宽度(个)范围(有符号)范围(无符号)用途TI ...

  6. mysql 数据精确度,MySQL中数值类型的精度探析

    任何数据库里,数值都是最核心的数据类型了,也就只有字符串类型能和它掰掰手腕了.在MySQL中,支持的数值类型也很全面.看看官方说明: MySQL supports all standard SQL n ...

  7. mysql数据库表中的类型_MySQL数据库中表类型MyISAM与InnoDB的区别

    MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...

  8. 【mysql】关于mysql中int(M)类型的具体含义以及tinyint/smallint/mediumint/int/bigint的区别是什么?

    之前定义数据库类型一直不理解int(M)的具体含义,M决定的是什么?不同M的值的区别是什么?tinyint / smallint / mediumint / int / bigint这些类型又有什么不 ...

  9. java poi设置单元格格式为数值,Apache POI 如何读取Excel中数值类型单元格所规定的保留小数位?...

    问题描述 java apache poi 包内是否有方法可以获取Excel数值类型单元格中保留的位数? 问题出现的环境背景及自己尝试过哪些方法 有这么一个场景: 需求:从Excel文件中读取数据,原样 ...

最新文章

  1. celery源码分析-Task的初始化与发送任务
  2. O(N)的时间复杂度找出a[N]中那个重复的数字
  3. java控制语句练习题_[Java初探实例篇02]__流程控制语句知识相关的实例练习
  4. java 自己抛空指针异常_java Timetask 访问service 抛空指针异常解决方案
  5. 卷积神经网络Convolutional Neural Network (CNN)
  6. sap中二级品报工问题解决方案
  7. mysql range代表什么意思_MySQL数据表range分区例子
  8. idea展示runDashboard的窗口
  9. 圣诞海报简单设计技巧|装饰气氛PNG免抠素材
  10. 转:如何编程实现启用禁用网卡
  11. SharePoint 2013 添加Ribbon菜单
  12. Flightgear操作方式以及几种典型飞机的起飞方法
  13. JRE、JDK下载安装教程
  14. Unity2D入门(一):编辑素材、绘制地图
  15. 带宽,传输速率,吞吐量三者之间的关系与区别
  16. Nature Reviews Neuroscience综述:认知和行为的灵活性-神经机制和临床考虑
  17. android街机模拟器,手机街机模拟器哪个好_安卓街机模拟器大全-66街机网
  18. RobotStudio 示教器编程:MoveL指令
  19. 跨国族群布里亚特的特殊“年味儿”
  20. oracle资产负债表重分类吗,资产负债表必须重分类的吗

热门文章

  1. 使用easyexcel导出excel表格
  2. ipv6 压缩 java_IPv6 地址语法
  3. 后门攻击经典背景文献(综述)
  4. SAP 学习资料和网站
  5. MVC基础和HTTP
  6. NUnit 使用手记
  7. C语言数组之间赋值详解
  8. ElasticSearch之ngram分词器
  9. srilm安装,ngram-count使用
  10. ORACLE SQL数据类型转换