精华内容
下载资源
问答
  • MySQL字段int类型长度INT(M)

    千次阅读 2020-04-28 15:08:16
    关于mysql数据库中,字段长度的一个解释,一直以为int长度为1时...(1)int类型 INT(M),M代表的是显示宽度,长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长...

    关于mysql数据库中,字段长度的一个解释,一直以为int长度为1时,只能插入0-9的数字,发现完全不是,具体如下:

     

    1、varchar类型的长度是指这个字段的字符(字母或汉字)个数。

    2、数字类型的长度不是这个意思:

    (1)int类型   INT(M),M代表的是显示宽度,长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1)

    (2)tinyint类型:长度设定值范围1~255(设置0时自动转为4,不设置时自动转为默认的4)(显示宽度),在此范围内任意长度值的字段值范围都是-128~127(-2⁷-1~2⁷-1)

    也就是说:int(1)、int(4)、int(11)和int(110)表示意思是一样的

    要查看出不同效果记得在创建类型的时候加 zerofill这个值(INT(M) ZEROFILL),表示用0填充,否则看不出效果的

     

    参考资料:

    https://blog.csdn.net/superit401/article/details/78237780?utm_source=blogxgwz0

    展开全文
  • int类型长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1) tinyint类型:长度设定值范围...

    1.varchar类型的长度是指这个字段的字符(字母或汉字)个数。

    2.数字类型的长度就不是这个意思,更为复杂。

    int类型:长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1)

    tinyint类型:长度设定值范围1~255(设置0时自动转为4,不设置时自动转为默认的4)(显示宽度),在此范围内任意长度值的字段值范围都是-128~127(-2⁷-1~2⁷-1)

    如:

    指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。 

     

    总结:显示宽度与存储大小或类型包含的值的范围无关。可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度

    这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位 数。

     

    要查看出不同效果记得在创建类型的时候加 zerofill这个值,表示用0填充,否则看不出效果的。

    我们通常在创建数据库的时候都不会加入这个选项,所以可以说他们之间是没有区别的。

    实例:

    1.varchar

    varchar(5):字段只允许最多5个字符或者5个汉字

    2.int

    INT(1):字段值范围在-2147483648~2147483647(即-2³¹-1~2³¹-1)内的数值都可以insert、select、update,此处宽度指示器的数值1不起作用。手动在navicat中改此字段的值,也可通过sql修改。

    int(1)、int(4)、int(11)和int(110)表示意思是一样的。

    INT(M) ZEROFILL,加上ZEROFILL后M才表现出不同,比如 INT(3) ZEROFILL,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果INT(3)和INT(10)不加ZEROFILL,则它们没有什么区别.M不是用来限制INT列内保存值的范围的.int(M)的最大值和最小值与UNSIGNED有关。

    MySQL类型关键字后面的括号内指定整数值的显示宽度(例如,INT(11))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。

    所以INT(1)和INT(11)默认是没有任何区别的!!!

    参考:https://blog.csdn.net/yangyang_01/article/details/80681187

    3.float

    float(7,3):字段总允许宽度为7,其中整数部分为4位(数值范围可在0-9999),小数部分为3位(数值范围可在0-999)

    第一次设置此字段成功后,不可再次手动在navicat中此字段所在数据行的所有字段值也不可手动删除这条记录,但可通过sql修改。

    4.tinyint

    tinyint(1):(类似int)字段值范围在-128~127(-2⁷-1~2⁷-1)内的数值都可以insert、select、update,此处宽度指示器的数值1不起作用。手动在navicat中改此字段的值,也可通过sql修改。

    5.double

    double(7,3):字段总允许宽度为7,其中整数部分为4位(数值范围可在0-9999),小数部分为3位(数值范围可在0-999)

    手动在navicat中改此字段及同数据行其他字段的值,也可通过sql修改。

     

     

    参考:

     

    http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html

    http://www.cnblogs.com/huligong1234/archive/2012/06/11/2545682.html

    http://blog.csdn.net/lyd518/article/details/20703095

    http://blog.knowsky.com/253505.htm

     

    展开全文
  • C语言中int 类型的字节长度

    千次阅读 2011-11-07 17:33:38
    如果要保证移植性,尽量用__int16 __int32 __int64 ,__int16、__int32,_int64 这些数据类型在所有平台下都分配相同的字节。所以在移植上不存在问题。 所谓的不可移植是:在一个平台上编写的代码无法拿到另...
     
    

    int 这个数据类型比较特殊,具体分配的字节数与机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64 ,__int16、__int32,_int64 这些数据类型在所有平台下都分配相同的字节。所以在移植上不存在问题。


    所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达到期望的运行结果 


    例如:在32为平台上(所谓32位平台是指通用寄存器的 数据宽度是32)编写代码,int 类型分配4个字节,而在16位平台是则分配2个字节,那么在16位上编译出来的exe,其中是为int分配2字节,而在32位平台上运行时,会按照4个字 节来解析,显然会出错误的!! 

    而对于非int类型,目前为止,所有的类型分配的字节数都是兼容的,即不同平台对于同一个类型分配相同的字节数!! 

    建议:在代码中尽量避免使用int类型,根据不同的需要可以用short,long等代替。

    下表是关于常见数据类型字节长度的总结

    数据类型名称字节数别名取值范围
     int*signed,signed int 操作系统 决定,即与操作系统的"字长"有关
     unsigned int*unsigned由操作系统决定,即与操作系统的"字长"有关
    __int81char,signed char–128 ~ 127
    __int162short,short int,signed short int–32,768 ~ 32,767
    __int324signed,signed int–2,147,483,648 ~ 2,147,483,647
    __int648–9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
    bool1false 或 true
    char1signed char–128 到 127
    unsigned char10 到 255
    short2short int,signed short int–32,768 到 32,767
    unsigned short2unsigned short int0 到 65,535
    展开全文
  • mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.以下是每个整数类型的存储和范围(来自mysql手册): 表格一共有四列分别表式:字段类型...

    mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.

    以下是每个整数类型的存储和范围(来自mysql手册):
    这里写图片描述
    表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.

    我们拿int类型为例:

    int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(byte)并非是计算机存储的最小单位, 还有比字节(byte)更小的单位, 也就是位(bit),一个位就代表一个0或1; 8个位组成一个字节; 一般字节用大写B来表示byte, 位用小写b来表示bit.

    计算机存储单位的换算:

    1B=8b

    1KB=1024B

    1MB=1024KB

    那么根据int类型允许存储的字节数是4个字节, 我们就能换算出int UNSIGNED(无符号)类型的能存储的最小值为0, 最大值为4294967295(即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来填充; 效果如下
    这里写图片描述
    手册上还有这么一句话”当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度”. 这也让我不禁感叹这个宽度到底如何设置比较合适?

    但有一点看完该文档你应该清楚的知道, 长度M与你存放的数值型的数的大小无关.

    展开全文
  • 参考文档 http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html 很好的文档 ,等下整理
  • c++ 基本数据类型长度
  • int长度

    千次阅读 2009-10-14 15:36:00
    Ø 基本数据类型C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。一、整型家族整型家族包括char、short intint和long...
  • MySql 5.X 以上的版本的定义中表示的字符长度,如上...int(2) 中的2 ,表示的并非是int类型只能输入2位数字,而是只能显示2位数字范围,可以添加11位的int的任何数字。 Oracle Oracle中varchar2类型的字段...
  • C语言 获取int数组长度

    万次阅读 2014-08-22 11:01:06
    函数通过参数传入一个数组的指针,如何获取该数组的长度?如 int InsertSort(int* array,int key) 其中array的长度如何获取? 用过sizeof(array) / sizeof(int),但是结果不对,始终是1
  • Oracle中varchar2类型的字段长度单位默认是按照byte来定义, 比如常见写法varchar2(10) 代表只接收最大10字节长度 这种定义情况下10字节只能插入3个汉字,(数字字母只占一字节,汉字占三字节) 如果插入4个汉字...
  • 整数类型在这里显示的宽度和数据类型的取值范围是没有任何关系的,这里的宽度的是你数据显示的最大的宽度个数。如果插入的长度大于你所显示的值,只要该值是该类型的取值范围,都会显示出来。 例如:int(4)我存放...
  • mysql中int长度的意义

    千次阅读 热门讨论 2018-12-31 00:31:48
    在mysql里,int长度并不会限制存储的数字范围. 比如, intint(3) 的存储范围都是 -2147483648 ~ 2147483647, int unsigned 和 int(3) unsigned 的存储范围都是0 ~ 4294967295. 咱们先看一下mysql官方文档里的...
  • JAVA int类型 获取高低位

    千次阅读 2019-05-24 17:20:12
    去年笔者和一个硬件厂商调试打印机的...首先,int类型在java中是4个字节,每个字节8位,即int是32位的数据类型。int的高位为前三个字节,低位为最后一个字节(为什么这样组装笔者查了一些资料,理解的还不是很透彻...
  • mysql中int(11)长度

    万次阅读 2018-04-20 11:04:04
    mysql中int(1)和int(11)区别呢,按理来讲int定义之后长度不受我们设置的限制了,那么mysql中int(1)和int(11)区别是什么呢? mysql字段定义中INT(x)中的x仅仅的是显示宽度。该可选显示宽度规定用于显示宽度小于指定...
  • 从C语言中int类型讲起,引入了字长的概念,描述了计算机体系结构中与字长相关的方方面面。
  • S7中数据类型INT和Word有什么区别吗

    千次阅读 2020-05-24 07:11:44
    S7中数据类型INT和Word有什么区别吗 分类:博途 S7中数据类型INT和Word有什么区别吗 1、WORD是无符号的数据类型INT是有符号的数据类型(最高位为1表示负数,0表示正数)。 通常情况下WORD用于逻辑运算,INT用于...
  • 关于Mysql INT类型及最大值问题

    千次阅读 2019-11-21 11:55:33
    今天把微博id $uid int(55032****5)插入mysql 字段中(int)插入结果为...int最大长度是11位。 在php中int的最大值为2147483647(通常情况,和平台有关) 然后在Mysql 中 int 的 最大值可以看成两个 一种是...
  • Mysql数据库中数据类型长度什么

    万次阅读 2017-07-30 16:18:09
    在mysql中新建数据表的时候会有长度一说,其实用建表语句建数据表的时候也有涉及 ...不知道你有没有注意这个数据类型后面的括号有什么玄机,今天看了《Mysql 5.6 从零开始学》这本书,算是把这个地方搞清
  • int类型占几个字节

    千次阅读 2019-11-06 16:31:55
    数据类型 大小(二进制位数) 范围 默认值 字节数 备注 byte(字节) 8bit -2^7~2^7-1 即-128~127 0 1byte 除以8是字节数 int(整型) 32bit -2^31~2^31-1 即-2147483648...
  • MySQL中int(11)最大长度是多少?

    千次阅读 2019-07-12 16:12:29
    今天在添加数据的时候,发现当数据类型int(11) 时,我当时让用户添加数据时,最大输入的长度为11位,结果,添加数据添加不上,导致出现问题,我又改为最大长度为10位,结果验证9个1的时候是正常的,再次验证9个9...
  • 一、int中的长度 提问: MySQL的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大? 回答: 不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无...
  • 1)int类型以及指针的类型所占字节的大小由什么决定的? 首先,介绍几个基本概念:(主要摘自百度百科)  机器字长:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是...
  •  在SQL语句中int代表你要创建字段的类型int代表整型,11代表字段的长度。 这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管...
  • int类型长度的设定值范围1255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-21474836482147483647(即-2³¹-1~2³¹-1) tinyint类型:长度设定值范围...
  • java 对int类型的 sort排序原理

    千次阅读 2019-06-03 10:29:53
    快速排序主要是对那些基本类型数据(int,short,long等)排序, 而归并排序用于对Object类型进行排序。 使用不同类型的排序算法主要是由于快速排序是不稳定的,而归并排序是稳定的。这里的稳...
  •  在SQL语句中int代表你要创建字段的类型int代表整型,11代表字段的长度。  这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 253,866
精华内容 101,546
关键字:

int类型长度指什么