Mysql 我们平时创建一个表对 int 类型习惯设置 int(11) ,不知道你有没有试过设置其他长度有什么影响吗?

下面咱们来实验一下啦。

以下是每个整数类型的存储和范围:

类型

字节

最小值

最大值

(带符号的/无符号的)

(带符号的/无符号的)

TINYINT

1

-128

127

0

255

SMALLINT

2

-32768

32767

0

65535

MEDIUMINT

3

-8388608

8388607

0

16777215

INT

4

-2147483648

2147483647

0

4294967295

BIGINT

8

-9223372036854775808

9223372036854775807

0

18446744073709551615

第二列是字节,我们学过一个字节 byte 是 8 个位 bit,字节不是计算机存储的最小单位,位才是,一个位代表一个 0 或者 1 ,8 个位 bit 组成一个字节,一般一个字节用 B 来表示 byte ,用小写 b 来表示 bit 。

计算机存储单位的换算:

1B=8b

1KB=1024B

1MB=1024KB

根据 int 类型允许存储的字节数是 4 个字节, 我们就能换算出 int 类型 UNSIGNED (无符号)类型的能存储的最小值为 0 , 最大值为 4294967295 (即 4B=32b, 最大值即为 32 个 1 组成);

二我们建表时设置的长度 int(11) 或者设置成 int(3)或 int(6),

CREATE TABLE `test` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`i1` int(3) unsigned zerofill DEFAULT NULL,`i2` int(6) unsigned zerofill DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

其实都是可以存储 4 个字节的无符号整数的。当有设置 zerofill 时,数字不足3位或6位时,前面会用 0 补齐

Mysql 还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(比如INT(6))。

该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。

显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。

也就是说,int 的长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了 zerofill。

Mysql 数据库表中 int 类型的长度相关推荐

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

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

  2. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

  3. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

  4. Navicat中设计表时int类型的长度说明

    文章目录 前言 总结 实例 前言 平时开发中经常在Navicat中设计表,字段类型中会使用int类型(包括tinyint.smallint.mediumint.int.bigint等),在Navica ...

  5. Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容

    2019独角兽企业重金招聘Python工程师标准>>> 摘要 学习(Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程),尝试搭建ssh框架 ...

  6. eclipse ssh mysql数据库_Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容...

    摘要 因运行后404错误,遂选择集成好SSH框架的MyEclipse开发工具: 最终实现了Struts2框架的分页查看学员信息,Spring3和Hibernate3的尝试宣告失败. 1.本项目的环境 ...

  7. php查询mysql显示在html表格中_php – 在网页上的HTML表格中显示MySQL数据库表中的值...

    我想从数据库表中检索值并在页面的html表中显示它们. 我已经搜索了这个,但我找不到答案,虽然这肯定是容易的(这应该是数据库的基础知识).我想我搜索过的词语具有误导性. 数据库表名称是票证,它现在有6 ...

  8. mysql——数据库设计中int与varchar中的长度含义

    一.int中的长度 提问: MySQL的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同.如果不同,分别是多大? 回答: 不同,int(3)最多显示 ...

  9. mysql数据库表中插入中文字段时报错 ‘\xCD\xF5\xBB\xAA‘

    创建表 mysql> CREATE TABLE student( -> s_no VARCHAR(20) PRIMARY KEY COMMENT'学生学号', -> s_name V ...

最新文章

  1. Mysql修改设置root密码的命令及方法
  2. 【每日DP】day6 P1541 乌龟棋(四维DP)难度⭐⭐⭐
  3. Enum.GetHashCode()的问题
  4. 居然又要出一部关于程序员的剧!你会追么?
  5. Android 5.0 Lollipop介绍
  6. 谈谈 ES6 的 Promise 对象
  7. 设计模式C++实现(4)——单例模式
  8. 八十五、再探希尔排序,桶排序,计数排序和基数排序
  9. php curl 下载图片,CURL实现下载远程图片并保存到本地
  10. Pycharm超使用快捷键
  11. redis 学习(18)-- AOF
  12. Qt:Qt实现网页自动刷新工具
  13. 【中台实践】滴滴大数据研发中台的最佳实践.pdf(附下载链接)
  14. All xxx functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  15. delphi7 dbgrid缓存模式下怎么判断输入重复记录_互联网公司的架构设计要怎么落地?| 技术头条...
  16. Linux系统Anaconda下载安装教程
  17. 【华人学者风采】周明 微软亚洲研究院
  18. 苹果主屏幕按钮怎么设置_苹果手机屏幕变大怎么恢复
  19. 小麦苗Oracle和MySQL健康检查脚本使用说明
  20. 这9款宝藏办公软件原地封神,款款深入人心

热门文章

  1. java多线程重复卖票的问题
  2. web端测试和移动端测试的区别
  3. Mysql之删除操作浅析
  4. WebFlux学习总结
  5. 双击计算机显示远程过程调用失败,Win7提示”远程过程调用失败且未执行”怎么办...
  6. K8S删除pod显示状态为terminating
  7. keil 51出现no browse information available in
  8. ST001 | 移动 App 应用测试方法与思路
  9. 学平面设计到底有没有发展前途?就业前景好不好?
  10. 将node项目部署到云服务器详细教程 原创