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

详解 mysql int 类型长度值问题

创建数据库时候发现一个问题: 改变 length 值, 不能影响到实际存储长度!...秉着好奇心, 打开了 google ~ 引入大神解答. mysql 在建表时候 int 类型长度代表什么? 是该列允许存储值最大宽度吗?...为什么我设置成 int(1), 也一样能存 10,100,1000 呢. 当时我虽然知道 int(1), 这个长度 1 并不代表允许存储宽度, 但却没有一个合理解释....所以我在网上查阅了一些资料, 也仔细看了 mysql 手册关于 int data type 说法. 以下是每个整数类型存储和范围 (来自 mysql 手册) ?...我们拿 int 类型为例: int 类型, 占用字节数为 4byte, 学过计算机原理同学应该知道, 字节 (byte) 并非是计算机存储最小单位, 还有比字节 (byte) 更小单位, 也就是位

3.5K20

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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysqlint和varchar类型

    int类型int bigint smallint 和 tinyint 类型,如果创建新表时没有指定 int(M) 中M时,默认分别是 : int           -------     int...支持选择在该类型关键字后面的括号内指定整数值显示宽度(例如,INT(4))。...int(M) 在 integer 数据类型中,M 表示最大显示宽度,该可选显示宽度规定用于显示宽度小于指定列宽度值时从左侧填满宽度。...和数字位数也无关系, int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 存储空间。 上面几种类型存储范围见下图: 如何计算一个字节能够存储整数位数?...2个字节有16位,无符号从0000 0000 0000 0000(0)到1111 1111 1111 1111(2^16-1) 有符号:(-2^15到2^15-1) mysql中设置varchar长度问题

    1.7K10

    数据库char转int_mysql string转int

    展开全部 首先char类型必须是数字,将字符数32313133353236313431303231363533e58685e5aeb931333431373262字转成数字,比如’0’转成0可以直接用加法来实现...扩展资料 char类型占1字节,就是8位,所能存储正整数是 0111 1111,即127。现在将 int整数i= 128 赋予ch,会产生溢出。...因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000.。...若将它赋给一个只有8位char 类型变量,只能将低8位1000 0000 放进去,其他都会被删掉。...整数在计算机中都是以补码形式存储,此时1000 0000 在计算机眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应十进制是 -128,所以最后输出就是 -128。

    5.3K20

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

    大家好,又见面了,我是你们朋友全栈君。 1、mysqlint(11)中11代表显示宽度 整数列显示宽度,与mysql需要用多少个字符来显示该列数值,与该整数需要存储空间大小都没有关系。...a、int是整型,(11)是指显示字符宽度,最大为255。 b、int(11)是记录行数id,插入10条记录,那么它就显示00000000001 ~~~00000000010。...c、当字符位数超过11,它也只显示11位。 d、如果没有加未满11位就前面加0参数,就不会在前面加0。 e、如果没有给它指定显示宽度,MySQL会为它指定一个默认值。...f、INT(3)会占用4个字节存储空间,并且允许最大值也不会是999,而是INT整型所允许最大值。...2、mysql有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。 a、区别是取值范围不同,存储空间不相同。

    6.1K20

    MySQL字段类型_mysql数据库字段类型

    大家好,又见面了,我是你们朋友全栈君。 前言: 要了解一个数据库,我们必须了解其支持数据类型MySQL 支持大量字段类型,其中常用也有很多。...前面文章我们也讲过 int 及 varchar 类型用法,但一直没有全面讲过字段类型,本篇文章我们将把字段类型一网打尽,讲一讲常用字段类型用法。...浮点型主要有 float,double 两个,浮点型在数据库中存放是近似值,例如float(6,3),如果插入一个数123.45678,实际数据库里存是123.457,但总个数还以实际为准,即6位,...2.字符串类型 字符串类型也经常用到,常用几个类型如下表: 其中 char 和 varchar 是最常用到。char 类型是定长MySQL 总是根据定义字符串长度分配足够空间。...3.日期时间类型 MySQL支持日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适类型即可

    19.4K10

    int类型和byte类型强制类型转换

    今天在读《Java网络编程》这本书第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意地方。这个地方有点细节,不过就应该把这种细节把握住。...情况是这样,讲到InputStream抽象方法read时,说到read返回一个int型,但实际是一个byte型数据。这点从API也能考证。如图: ?...那么问题来了,int占4个字节,byte占1个字节,我们循环读取时候将int型数组强制类型转换成byte时,会发生什么情况呢?代码如下: ?...1个字节占8位,既然实际返回是byte类型数据,那么强制类型转换int型截取低8位,对数据也不会造成影响。问题就出现在,如果再从byte型转换成int型呢?代码如下: ?...这是因为在int强制转换为byte型数据时,会产生一个-128~127有符号字节,而不是read方法返回0~255无符号字节。这个时候要注意代码应修改为: ? 一个小问题,重在积累。

    2.7K50

    mysql存储long型数据_int数据类型

    依赖于M和D值 小数值 INT 类型MySQL 中支持 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT。...这些类型在很大程度上是相同,只有它们存储大小是不相同MySQL 以一个可选显示宽度指示器形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定长度。...例如,指定一个字段类型INT(6),就可以保证所包含数字少于 6 个值从数据库中检索出来时能够自动地用空格填充。需要注意是,使用一个宽度指示器不会影响字段大小和它可以存储范围。...使用这个修饰符可以阻止 MySQL 数据库存储负值。 FLOAT、DOUBLE 和 DECIMAL 类型 MySQL 支持三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。...忽略 DECIMAL 数据类型精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型字段精度设置为 10,计算方法设置为 0。

    3.7K30

    java把string转int类型_java把String类型转换为int类型方法

    java把String类型转换为int类型方法 发布时间:2020-08-20 14:32:03 来源:亿速云 阅读:73 作者:小新 这篇文章将为大家详细讲解有关java把String类型转换为int...本篇文章就给大家介绍java把String类型转换为int类型两种方法,让大家了解String类型如何可以转换为int类型,希望对你们有所帮助。...str和一个值为100int类型整型变量inum ;使用parseInt()方法,把变量str 作为其参数,在解析后把整数值返回给int类型变量inum2;最后输出整型变量“inum”、“inum2...你会看到像这样编译错误: 2、Integer.valueOf(String)方法 valueOf()同样是Integer包装类一个方法,可以将String类型值转换为int类型值。...关于java把String类型转换为int类型方法就分享到这里了,希望以上内容可以对大家有一定帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    4.1K10

    一文搞懂MySQL表字段类型长度含义

    不知道大家第一眼看标题时候有没有理解,什么是“字段类型长度”,这里我来解释下,就比如我们在MySQL建表时候,比如下面这个建表语句:CREATE TABLE `user` ( `id` int(10...=utf8其中id、name、age是该表三个不同字段,而每个类型+数字就是该字段类型长度,比如int(10)就是该字段是int类型长度为10,这下大家应该能理解什么是MySQL表字段类型长度了吧(...其实在后续讲解中会发现这个并不是长度,而是宽度)那么重点问题来了,每一种类型后面括号里数字都有什么含义呢,下面我们来剖析下:首先MySQL字段都支持哪些类型?...(3)提供了相关操作JSON类型数据函数1.3 数据类型说明MySQL数据类型长度是固定,而不是由建表时指定,unsigned表示无符号类型CREATE TABLE `table01` ( `...,进行排序和创建临时表一类内存操作时,会使用N长度申请内存VARCHAR(N),如果N=256则使用两个字节来存储长度3 结论MySQL建表语法再次说明:

    1.2K11

    数据库中varchar类型 最大长度是多少?

    二. varchar和char 区别: char是一种固定长度类型,varchar则是一种可变长度类型,它们区别是: char(M)类型数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL...在MySQL中用来判断是否需要进行对据列类型转换规则 1、在一个数据表里,如果每一个数据列长度都是固定,那么每一个数据行长度也将是固定. 2、只要数据表里有一个数据列长度可变,那么各数据行长度都是可变.... 3、如果某个数据表里数据行长度是可变,那么,为了节约存储空间,MySQL会把这个数据表里固定长度类型数据列转换为相应可变长度类型.例外:长度小于4个字符char数据列不会被转换为varchar...类型 被问到一个问题:MySQL中varchar最大长度是多少?...(在文档里面我没有找到说明,所以也不知道到底是1个还是2个byte) 但我想到了一个方法来反推出来, 我把id类型从medium改成 int ,这时id长度就从3变为4了,如果控制字节用了2Bytes

    8.8K20

    mysql数据类型int、bigint、smallint 和 tinyint取值范围

    int SQL-92 同义字为 integer。 smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 整型数据。存储大小为 2 个字节。...tinyint 从 0 到 255 整型数据。存储大小为 1 字节。 注释 在支持整数值地方支持 bigint 数据类型。...但是,bigint 用于某些特殊情况,当整数值超过 int 数据类型支持范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要整数数据类型。...在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。...SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。

    4.2K31

    MySQLint (10) 和 int (11) 区别

    mysql 中整数数据类型 不同类型取值范围 不同数据类型默认显示宽度 显示宽度跟负号没有关系,它只在人工设置了 ZEROFILL 属性有效。...如果插入了大于显示宽度值,只要该值不超过该类型整数取值范围,数值依然可以插入,而且能够显示出来。 同理,所以 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、普通索引 最基本索引,它没有任何限制,用于加速查询。 创建方法: a. ...修改表结构 ALTER TABLE mytable ADD INDEX index_mytable_name (name); 注:如果是字符串字段,还可以指定索引长度,在列命令后面加上索引长度就可以了...修改表结构 ALTER TABLE mytable ADD UNIQUE INDEX index_mytable_name (name); 注:如果是字符串字段,还可以指定索引长度,在列命令后面加上索引长度就可以了...建表时候一起创建 CREATE TABLE mytable ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` VARCHAR(32) , PRIMARY...修改表结构 ALTER TABLE test.t1 ADD CONSTRAINT t1_pk PRIMARY KEY (id); 注:如果是字符串字段,还可以指定索引长度,在列命令后面加上索引长度就可以了

    3.4K10

    mysql面试题49:MySQL中不同text数据类型最大长度

    该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL中TEXT数据类型最大长度MySQL中,TEXT数据类型用于存储较大文本数据...,其最大长度取决于具体TEXT类型。...以下是MySQL中不同TEXT类型最大长度: TINYTEXT:最大长度为255个字符(2^8-1)。 TEXT:最大长度为65,535个字符(2^16-1)。...与TEXT类型类似,BLOB类型也有不同类型(TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB),其最大长度与对应TEXT类型相同。...当使用TEXT或BLOB类型存储较大数据时,可能会影响性能和存储空间使用。在设计数据库时,应根据实际需求和性能考虑选择合适数据类型和存储方案。

    27900

    MySQL修改字段类型、字段名字、字段长度、字段小数点长度

    文章目录 1:修改类型 2:修改长度 3: 同时修改列名和列数据类型 4:修改字段类型text(类型) ~>mediumtext(类型) 5:修改字段长度和字段小数点长度 6: 修改字段列名和字段类型...7:指定字段之后新增字段 8:更新表content_text字段类型 9:修改字段类型,修改长度和小数点位数 1:修改类型 mysql> alter table 表名 modify column 字段名...数据库中address表 city字段是varchar(30),修改类型可以用(谨慎修改类型,可能会导致原有数据出错)。...mysql 修改字段类型:alter table news modify column title text;我发现使用这句sql也可以直接修改字段原本类型!...(50); alter table 表名 modify column 字段名 类型;news 表里title 字段 原来长度是 100个字符,现长度要改成130个字符。

    10K20
    领券