精华内容
下载资源
问答
  • 一个int类型占用4字节是固定的,但是MySQL里的长度设置有什么意义? 网上都说是会补0,但是我试了试也没看见补0,那他的补0是啥意思 官方手册似乎没有提到这个问题,翻了好久并没有看到解释 ...
    • 一个int类型占用4字节是固定的,但是MySQL里的长度设置有什么意义?
    • 网上都说是会补0,但是我试了试也没看见补0,那他的补0是啥意思
    • 官方手册似乎没有提到这个问题,翻了好久并没有看到解释
    展开全文
  • mysqlint数据类型长度的问题

    千次阅读 2013-08-07 16:10:47
    mysqlint数据类型长度的问题 mysql中定义了int数据类型后,后面填写的长度具体有什么用?如果长度为4,请问最大的数是多少?如果是自增的可以是多少条?这些问题,您都可以在下文中找到答案 。 在...

    mysql中int数据类型长度的问题

    mysql中定义了int数据类型后,后面填写的长度具体有什么用?如果长度为4,请问最大的数是多少?如果是自增的可以是多少条?这些问题,您都可以在下文中找到答案

    在定义了mysql中int数据类型后,后面填写的长度有什么用呢?下文将对mysql中int数据类型长度进行详细的介绍,希望对您能有所帮助。

    mysql中int数据类型长度最大为11位,最少为4位,不够在前面补空格。

    这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度。

    而mysql中int本身就是4个字节 bigint是8个字节 所以说int(X)的含义就是 int决定数据存储的字节 X表示期望数据的列宽度

    在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。

    整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。

    展开全文
  • mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大? 回答: 不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。  如果你的答案和上面的一致,...

    提问:

    mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?

    回答:

    不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。 
    如果你的答案和上面的一致,恭喜你和我犯了一样的错误。

    真实情况:

    我们建立下面这张表:

    CREATE TABLE `test` (
        `id` int(10) 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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    插入一些数据后 
    这里写图片描述 
    发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。

    查下手册,解释是这样的: 
    MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。 
    也就是说,int的长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了zerofill。

    结论:

    无论是unsigned int(3)或 unsiend int(6),存储的都是4字节无符号整数, 也就是0~2^32。

    提问:

    mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?

    回答:

    不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。 
    如果你的答案和上面的一致,恭喜你和我犯了一样的错误。

    真实情况:

    我们建立下面这张表:

    CREATE TABLE `test` (
        `id` int(10) 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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    插入一些数据后 
    这里写图片描述 
    发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。

    查下手册,解释是这样的: 
    MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。 
    也就是说,int的长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了zerofill。

    结论:

    无论是unsigned int(3)或 unsiend int(6),存储的都是4字节无符号整数, 也就是0~2^32。

    补充:

    mySql 中数据类型 为 字符串类型 的 例如:char 等 设置了长度 则是 可写入长度;

    附录 常见MySQL数据类型(留作备忘)

    类 型

    大 小

    描 述

    CAHR(Length)

    Length字节

    定长字段,长度为0~255个字符

    VARCHAR(Length)

    String长度+1字节或String长度+2字节

    变长字段,长度为0~65 535个字符

    TINYTEXT

    String长度+1字节

    字符串,最大长度为255个字符

    TEXT

    String长度+2字节

    字符串,最大长度为65 535个字符

    MEDIUMINT

    String长度+3字节

    字符串,最大长度为16 777 215个字符

    LONGTEXT

    String长度+4字节

    字符串,最大长度为4 294 967 295个字符

    TINYINT(Length)

    1字节

    范围:-128~127,或者0~255(无符号)

    SMALLINT(Length)

    2字节

    范围:-32 768~32 767,或者0~65 535(无符号)

    MEDIUMINT(Length)

    3字节

    范围:-8 388 608~8 388 607,或者0~16 777 215(无符号)

    INT(Length)

    4字节

    范围:-2 147 483 648~2 147 483 647,或者0~4 294 967 295(无符号)

    BIGINT(Length)

    8字节

    范围:-9 223 372 036 854 775 808~9 223 372 036 854 775 807,或者0~18 446 744 073 709 551 615(无符号)

    FLOAT(Length, Decimals)

    4字节

    具有浮动小数点的较小的数

    DOUBLE(Length, Decimals)

    8字节

    具有浮动小数点的较大的数

    DECIMAL(Length, Decimals)

    Length+1字节或Length+2字节

    存储为字符串的DOUBLE,允许固定的小数点

    DATE

    3字节

    采用YYYY-MM-DD格式

    DATETIME

    8字节

    采用YYYY-MM-DD HH:MM:SS格式

    TIMESTAMP

    4字节

    采用YYYYMMDDHHMMSS格式;可接受的范围终止于2037年

    TIME

    3字节

    采用HH:MM:SS格式

    ENUM

    1或2字节

    Enumeration(枚举)的简写,这意味着每一列都可以具有多个可能的值之一

    SET

    1、2、3、4或8字节

    与ENUM一样,只不过每一列都可以具有多个可能的值

     




    展开全文
  • MySQL数据类型 int(M)中M含义

    千次阅读 2016-08-10 16:22:25
    int(M)我们先来拆分,int是代表整型数据那么中间的M应该是代表多少位...你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4)

    int(M)我们先来拆分,int是代表整型数据那么中间的M应该是代表多少位了,后来查mysql手册也得知了我的理解是正确的,下面我来举例说明。
    MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小。
    后来,参看 MySQL 手册,发现自己理解错了。

    int(M): M indicates the maximum display width for integer types.

    在 integer 数据类型中,M 表示最大显示宽度。

    原来,在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
    另外,int(M) 只有跟 zerofill 结合起来,才能使我们清楚的看到不同之处。

    mysql> drop table if exists t;
    mysql> create table t(id int zerofill);
    mysql> insert into t(id) values(10);
    mysql> select * from t;
    +------------+
    | id         |
    +------------+
    | 0000000010 |
    +------------+
    mysql> alter table t change column id id int(3) zerofill;
    mysql> select * from t;
    +------+
    | id   |
    +------+
    |  010 |
    +------+
    mysql>
    mysql> alter table t change column id id int(4) zerofill;
    mysql> select * from t;
    +------+
    | id   |
    +------+
    | 0010 |
    +------+
    mysql>
    mysql> insert into t(id) values(1000000);
    mysql> select * from t;
    +---------+
    | id      |
    +---------+
    |    0010 |
    | 1000000 |
    +---------+

    从上面的测试可以看出,“(M)”指定了 int 型数值显示的宽度,如果字段数据类型是 int(4),则:当显示数值 10 时,在左边要补上 “00”;当显示数值 100 是,在左边要补上“0”;当显示数值 1000000 时,已经超过了指定宽度“(4)”,因此按原样输出。
    在使用 MySQL 数据类型中的整数类型(tinyint、smallint、 mediumint、 int/integer、bigint)时,非特殊需求下,在数据类型后加个“(M)”,我想不出有何意义。
    下面补充一下数据类型
    1、整型

    MySQL数据类型   含义(有符号)
    tinyint(m)  1个字节  范围(-128~127)
    smallint(m) 2个字节  范围(-32768~32767)
    mediumint(m)    3个字节  范围(-8388608~8388607)
    int(m)  4个字节  范围(-2147483648~2147483647)
    bigint(m)   8个字节  范围(+-9.22*1018次方)

    取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
    int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。

    2、浮点型(float和double)

    MySQL数据类型   含义
    float(m,d)  单精度浮点型    8位精度(4字节)     m总个数,d小数位
    double(m,d) 双精度浮点型    16位精度(8字节)    m总个数,d小数位

    设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。
    3、定点数
    浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。

    decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。

    4、字符串(char,varchar,_text)

    MySQL数据类型   含义
    char(n)     固定长度,最多255个字符
    varchar(n)  可变长度,最多65535个字符
    tinytext    可变长度,最多255个字符
    text        可变长度,最多65535个字符
    mediumtext  可变长度,最多2的24次方-1个字符
    longtext    可变长度,最多2的32次方-1个字符

    5、日期和时间数据类型

    MySQL数据类型   含义
    date        3字节,日期,格式:2014-09-18
    time        3字节,时间,格式:08:42:30
    datetime    8字节,日期时间,格式:2014-09-18 08:42:30
    timestamp   4字节,自动存储记录修改的时间
    year        1字节,年份
    展开全文
  • mysql数据类型长度
  • MySQL 数据类型 整型 长度

    千次阅读 2013-03-01 09:40:13
    出处http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/ 一句话总结:整型的长度表示最大显示宽度,浮点型和定点型的长度表示最多存储位数,字符串型的长度表示最多可以容纳的字符个数...
  • 分析MySQL数据类型长度

    万次阅读 2011-04-09 00:27:00
    分析MySQL数据类型长度  MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT...
  • 关于mysqlint数据类型储存最大数值与长度的关系关于mysqlint数据类型储存最大数值与长度的关系关于mysqlint数据类型储存最大数值与长度的关系关于mysqlint数据类型储存最大数值与长度的关系
  • 一、数据库中整型可以分为5种,TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT,分别占用1、2、3、4和8个字节,这个是固定的。也就是说这个在定义表的时候选择INT(11)和INT(5)对于占用的空间是没有区别的,都是4个字节...
  • MySQL int类型长度

    2020-08-09 17:31:07
    类型长度表示的是整数十进制时的长度int由四个字节组成,最大表示范围是-231 至 231-1。
  • mysql官方说明文档: ...数字列类型 int、bigint、smallint、tinyint   数字列类型用于储存各种数字数据,如价格、年龄或者数量。数字列类型主要分为两种:整数型
  • mysql数据类型长度

    万次阅读 2012-05-22 10:37:43
    MySQL数据库中常用字段类型: 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:DATETIME ,DATE,TIMESTAMP 备注型:TINYTEXT ,TEXT ,LONG...
  • MySQL字段int类型长度INT(M)

    千次阅读 2020-04-28 15:08:16
    关于mysql数据库中,字段长度的一个解释,一直以为int长度为1时,只能插入0-9的数字,发现完全不是,具体如下: 1、varchar类型的长度是指这个字段的字符(字母或汉字)个数。 2、数字类型的长度不是这个意思: ...
  • 因为最近要登记一些长度较大的数值,...当然,在mysql中使用界面创建表(不使用sql语句创建表),若不指定长度,它会为你指定默认长度,下面对mysql中常见的几种数据类型的默认长度和最大长度进行了总结。  ...
  • mysql数据类型长度 .

    2014-04-29 10:06:55
    MySQL数据库中常用字段类型: 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:DATETIME ,DATE,TIMESTAMP 备注型:TINYTEXT ,TEXT ,LONG...
  • MySQL数据类型长度问题总结

    千次阅读 多人点赞 2018-01-28 16:59:51
    MySQL数据类型长度问题总结 大家好,我又回来了,这两个星期忙着做项目实训作业,没更博客。 放寒假了,先预祝大家狗年大吉! 在初次接触Mysql的时候,虽然会用,但是只是照着老师或者跟着视频敲来实现功能,...
  • 详解mysql int类型长度值问题

    万次阅读 2018-08-17 11:23:45
    我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一...
  • 详解mysql int类型长度

    千次阅读 2013-10-08 10:33:30
    mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.   当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释....
  • 数据类型 范围 长度[M] 默认值 int 有符号: -214748364到2147483647 无符号: 0到4294967295   11     11   double -1.7976931348623157E+308到...
  • MySQL数据库中 int 长度最大是多少?

    千次阅读 2017-06-13 21:45:06
    int最大长度是11. 如果在建表时不指定字段int类型长度时,系统则默认生成长度为11的字段。11也是int类型的最大长度,其中第一位表示... 所以,当我们在用mysql数据库建表时如果有字段为int类型则不用指定长度了。
  • int类型长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1) tinyint类型长度设定值范围...
  • mysql中的数据类型长度限制

    万次阅读 2018-05-12 13:37:11
    mysql中的所有数据类型mysql支持多种数据类型,大致可以分为四类: 数值型、浮点型、日期/时间和字符串(字符)类型 1、 数值型: 1、 字符串长度 char/varchar 最大长度...
  • MySQL数据类型格式及长度

    万次阅读 2012-03-06 21:31:28
     MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否...
  • MySQL数据类型详解

    万次阅读 多人点赞 2018-08-13 16:40:22
    上一篇博客中我们学习了MySQL的基础知识以及表结构的相关操作,知道了MySQL中常用的数据类型有数值型、字符串型、日期时间类型 下面我们来使用一下这些数据类型。 数值类型 首先数值类型分为整型和浮点型 我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,198
精华内容 37,279
关键字:

mysql数据类型int长度

mysql 订阅