mysql int 长度与 tinyint 有什么区别

mysql int 与 tinyint 有什么区别_百度知道
mysql int 与 tinyint 有什么区别
提问者采纳
大整数值 MEDIUMINT
(-8 388 608,mysql的基本数据类型里几个int如下,4 294 967 295) 大整数值 BIGINT
(-9 233 372 036 854 775 808,127)
(0,2 147 483 647) (0,18 446 744 073 709 551 615)
极大整数值,255)
小整数值 SMALLINT
(-32 768,8 388 607)
(0,32 767)
(0,16 777 215)
大整数值 INT或INTEGER 4 字节
(-2 147 483 648,9 223 372 036 854 775 807) (0,类型
范围(有符号)
范围(无符号)
用途 TINYINT
其他类似问题
按默认排序
其他1条回答
bigint从 -2^63 (-4775808) 到 2^63-1 (4775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,648) 到 2^31 - 1 (2,483,147,483,147,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。,
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁mysql中int、bigint、smallint 和 tinyint的区别
最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结:
使用整数数据的精确数字数据类型。
从 -2^63 (-4775808) 到 2^63-1 (4775807) 的整型数据(所有数字)。存储大小为 8 个字节。
从 -2^31 (-2,147,483,648) 到 2^31 & 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int
的 SQL-92 同义字为 integer
从 -2^15 (-32,768) 到 2^15 & 1 (32,767) 的整型数据。存储大小为 2 个字节。
从 0 到 255 的整型数据。存储大小为 1 字节。
在支持整数值的地方支持 bigint
数据类型。但是,bigint
用于某些特殊的情况,当整数值超过 int
数据类型支持的范围时,就可以采用 bigint
。在 SQL Server 中,int
数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint
位于 smallmoney
只有当参数表达式是 bigint
数据类型时,函数才返回 bigint
。SQL Server 不会自动将其它整数数据类型(tinyint
、smallint
)提升为 bigint
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11380次
排名:千里之外
原创:12篇
(1)(3)(3)(2)(11)(1)详解mysql int类型的长度值问题
我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.
当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料, 也仔细的看了mysql手册关于int data type的说法.
以下是每个整数类型的存储和范围(来自mysql手册)
(带符号的/无符号的)
(带符号的/无符号的)
表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.
我们拿int类型为例:
int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(byte)并非是计算机存储的最小单位, 还有比字节(byte)更小的单位, 也就是位(bit),一个位就代表一个0或1; 8个位组成一个字节; 一般字节用大写B来表示byte, 位用小写b来表示bit.
计算机存储单位的换算:
1MB=1024KB
那么根据int类型允许存储的字节数是4个字节, 我们就能换算出int&UNSIGNED(无符号)类型的能存储的最小值为0, 最大值为(即4B=32b, 最大值即为32个1组成);
接下来我们再说说我们建表时的字段长度到底是怎么一回事.
CREATE TABLE `test` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`number` INT( 5 ) NOT NULL
) ENGINE = MYISAM ;
以test表的number字段为例, 大家看到我建的是int(5)
mysql手册中这个长度/值用&M&来表示的. 细心的朋友应该有注意到过mysql手册上有这么一句话:&&M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关;
这句话看上去不太容易理解, 因为这里有个关键词容易让我们混淆, &最大显示宽度&我们第一反应是该字段的值最大能允许存放的值的宽度. 以为我们建了int(1),就不能存放数据10了, 其实不是这个意思.
这个M=5我们可以简单的理解成为, 我们建立这个长度是为了告诉MYSQL我们这个字段的存储的数据的宽度为5位数,& 当然如果你不是5位数(只要在该类型的存储范围之内)MYSQL也能正常存储,& 这也就能解释以上标红的话.
我们把这个字段的&属性&修改为UNSIGNED ZEROFILL看一下效果.
我们看到现在我的number字段, 长度(M)=5, 属性=UNSIGNED ZEROFILL(无符号,用0来填充位数),& 设置这个属性后我往表时插入数据,系统会自动把number字段M不够5位的在左侧用0来填充; 效果如下
手册上还有这么一句话&当
为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度&. 这也让我不禁感叹这个宽度到底如何设置比较合适?
但有一点看完该文档你应该清楚的知道, 长度M与你存放的数值型的数的大小无关.
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。请问下大家。。mysql的update语句有没有取反操作?例如我想将一个字段(类型是tinyint)的值1直接改为-1。_百度知道
请问下大家。。mysql的update语句有没有取反操作?例如我想将一个字段(类型是tinyint)的值1直接改为-1。
提问者采纳
update 直接set 字段 = - 字段 不就行了,
就是为了想缩短代码才不用set的呀。用set的话 就要写2个sql语句了,分别是1变为-1 和-1变为1呀。。。我是想如果有取反操作不就可以整合成一个sql语句了。。
这就是取反,只要这一个语句,执行一次取反,再执行一次又取反
晕,我看错你的回答了。。多谢了。。。
其他类似问题
tinyint的相关知识
等待您来回答
您可能关注的推广
下载知道APP
随时随地咨询
出门在外也不愁MYSQL tinyint(1)
布尔 - huangqiqing123 - ITeye技术网站
博客分类:
Mysql官方参考文档关于布尔类型的说明:
BOOL, BOOLEAN
These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true:
-------------------------------------------------------------------
mysql中,假设数据表ts_attach的字段isDel的类型是tinyint(1):
update ts_attach set isDel= 与 update ts_attach set isDel=0; 等价
update ts_attach set isDel= 与 update ts_attach set isDel=1; 等价
-------------------------------------------------------------------
mysql数据库tinyint(1)类型,jdbc编程时,
用getByte()读取数据是真实的数值,
如果使用getObject(),则返回的是true(非0)、false(0)。
//如果需要获取真实数值,可加如下判断
if(resultSetMetaData.getColumnType(i)==Types.BIT){
columnValue = resultSet.getByte(j+1);
-------------------------------------------
补充说明:synonyms 中文意思“同义词”
huangqiqing123
浏览: 203158 次
来自: 济南
楼主按照你的代码 有如下报错信息Exception in th ...
tianyi1 写道怎样设置版写入版式
怎么把inline的地方改成非嵌入式
addPicture 在哪里?
怎样设置版写入版式}

我要回帖

更多关于 mysql int tinyint 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信