首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysqlint长度的意义

提问: mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?...回答: 不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。 如果你的答案和上面的一致,恭喜你和我犯了一样的错误。...发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。...查下手册,解释是这样的: MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。...也就是说,int长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了zerofill。

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率比较

    原文 | http://1t.click/FAB 在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 int、timestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高...=1, `d_int` int(11) NOT NULL DEFAULT '0', `d_timestamp` timestamp NULL DEFAULT NULL, `d_datetime...>400000 AND d_int<600000 查询花费 0.0780 秒 SELECT SQL_NO_CACHE count(id) FROM `datetime_test` WHERE d_int...d_timestamp)>400000 AND UNIX_TIMESTAMP(d_timestamp)<600000 查询花费 0.2944 秒 对于 timestamp 类型,有了索引,反倒不建议使用 MYSQL...d_datetime)>400000 AND UNIX_TIMESTAMP(d_datetime)<600000 查询花费 0.9994 秒 对于 datetime 类型,同样有了索引,反倒不建议使用 MYSQL

    7K30

    MySQLint (10) 和 int (11) 的区别

    显示宽度只是指明 mysql 最大可能显示的数字个数,数值的位数小于指定的宽度时左侧用数字 0 填充。...同理,所以 int (10) 和 int (11) 无任何区别,就是显示宽度不同。...在存储方面确实没什么不同,设置长度只有在设置了自动填充 ZEROFILL 的时候才体现出来, 比如 id=1 长度int (5) 的话会显示 00001。...Mysql 可以为整数类型指定宽度,例如 INT (11),对大多数应用这是没有意义的:他不会限制值的合法范围,只是规定了 Mysql 的一些交互工具,如 Mysql 命令行客户端,用来显示字符的个数。...对于存储和运算来说, INT (1) 和 INT (8) 是相同的。 是的,设置自动填充的时候用来显示补充0有点 用而已

    1.8K30

    Mysql覆盖索引_mysql索引长度限制

    只扫描索引而无需回表的优点: 1.索引条目通常远小于数据行大小,只需要读取索引,则mysql会极大地减少数据访问量。...(innodb的二级索引在叶子节点中保存了行的主键值,所以如果二级主键能够覆盖查询,则可以避免对主键索引的二次查询) 覆盖索引必须要存储索引列的值,而哈希索引、空间索引和全文索引不存储索引列的值,所以mysql...,但不是整个查询涉及的字段,mysql5.5和之前的版本也会回表获取数据行,尽管并不需要这一行且最终会被过滤掉。...2.mysql不能在索引中执行LIke操作。mysql能在索引中做最左前缀匹配的like比较,但是如果是通配符开头的like查询,存储引擎就无法做比较匹配。...记录自己对mysql的一些总结 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179723.html原文链接:https://javaforall.cn

    7.9K30

    聊聊Mysql中的int(1)

    昨天有个读者问了我这样一个问题在mysql中建表的时候,我设置一个字段为int类型,长度为1,但是我发现这个字段却可以存储任意长度的数字,这是什么情况?...Zerofill:零填充,意思就是达不到指定长度后,前面用 0 来填充。 现在再来看看这个int(1)中的1究竟有什么奥秘。这个1跟这个字段能存的数据范围没关系,它也不是限制这个字段的数据长度的。...比如我们将int(1)改成int(3),我们再输入1,实际上显示的是001。所以无论你将 int 类型的长度设为多少并不会影响数据的存储范围。...mysql对于整型的数据类型,不仅给我们提供了int,还提供了tinyint,smallint,mediumint和bigint。...再来聊一聊一个常见的面试题:int类型做自增主键有没有可能存储完? 肯定是有的,都有数据范围了,主键一直增长肯定有可能会达到这个范围。 很多小伙伴是不是心中飘过一万匹草泥马,忙着修改数据库去了。

    1.9K20

    mysql前缀索引 默认长度_如何确定前缀索引的长度

    uniq_code` (`nick_name`,`account`,`city`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=’Test’; 复制代码 原因 在MySQL5.6...在MySQL5.7里默认 innodb_large_prefix=1 解除了767bytes长度限制,但是单列索引长度最大还是不能超过3072bytes。...https://dev.mysql.com/doc/refman/8.0/en/create-index.html varchar(n)占用几个字节跟字符集有关系: 字符类型若为gbk,每个字符占用2个字节...所以我们经常会见到把字段设置成varchar(255)长度的,在utf8字符集下这个是最大不超过767bytes的长度了,但是并不是一定要设置成varchar(255),还是要根据业务设置每个字段的长度...,这个就是我们说的前缀索引 修改单个索引的最大长度 修改索引限制长度需要在my.ini配置文件中添加以下内容,并重启: #修改单列索引字节长度为767的限制,单列索引的长度变为3072 innodb_large_prefix

    3.6K20

    mysql数据库int类型的最大值_mysql自增主键最大值

    1、mysqlint(11)中的11代表显示宽度 整数列的显示宽度,与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系。...a、int是整型,(11)是指显示字符的宽度,最大为255。 b、int(11)是记录行数的id,插入10条记录,那么它就显示00000000001 ~~~00000000010。...e、如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间。...f、INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。...2、mysql有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。 a、区别是取值范围不同,存储空间不相同。

    6.2K20

    MySqlint(10)与int(11)有什么区别吗?

    0 1 引言 依稀还记得有次面试,有面试官问我int(10)与int(11)有什么区别,当时觉得就是长度的区别吧!面试官最后也没有给反馈,我也就以为自己答对了。...最后查出的结果是:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储 3个长度的数字,int(11)就会存储 11 个长度的数字,这是大错特错的。...我们通常在创建数据库的时候都不会加入这个选项,所以可以说他们之间是没有区别的。...MySQL 类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。...0 3 总结 所以,int(2) 与int(11)后的括号中的字符表示显示宽度,整数列的显示宽度与 MySQL 需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,int类型的字段能存储的数据上限依旧是

    4.3K30

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

    一、前言   在工作中经常要与 mysql 打交道,但是对 mysql 的各个字段类型一直都是一知半解,因此写本文总结记录一番。 二、简介 ?   ...对于 int 类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的 int(11) 代表什么意思,很长时间以来我都以为这代表着限制 int长度为 11 位,直到有天看到篇文章才明白,11...代表的并不是长度,而是字符的显示宽度,在字段类型为 int 时,无论你显示宽度设置为多少,int 类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段。   ...00000000001,左边补了 10 个零直至长度达到 11 位;   2、设置字段的显示宽度并不限制字段存储值的范围,比如字段 d 设置为 int(5),但是仍然可以存储 1234567890 这个...10 位数字;   3、设置的字符宽度只对数值长度不满足宽度时有效,如 d 字段 int(5),插入 1 时,长度不足 5,因此在左边补充 4 个零直到 5 位,但是插入 1234567890 时超过了

    3.2K20
    领券