整数类型后面跟的是显示的宽度。M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。

实践出真知:

mysql> create table test2 ( a int , b int(20) unsigned not null , c int(40) unsigned zerofill ) engine = innodb ;

Query OK, 0 rows affected (0.06 sec)

 

mysql> show create table test2;

+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table                                                                                                                                                        |

+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| test2 | CREATE TABLE `test2` (

`a` int(11) DEFAULT NULL,

`b` int(20) unsigned NOT NULL,

`c` int(40) unsigned zerofill DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

给表插入记录。

mysql> insert into test2  values(1,2000000, 34823424);

Query OK, 1 row affected (0.04 sec)

mysql> select * from test2;

+------+---------+------------------------------------------+

| a    | b       | c                                        |

+------+---------+------------------------------------------+

|    1 | 2000000 | 0000000000000000000000000000000034823424 |

+------+---------+------------------------------------------+

mysql> alter table test2  add d int(256) not null;

ERROR 1439 (42000): Display width out of range for column 'd' (max = 255)

从以上测试可以说明以下:

1:对于整形数据类型,数据存储所占的字节数是固定长度的。比如

  INT[(M)] [UNSIGNED] [ZEROFILL] 。

 

其中

 

M指示最大显示宽度。最大有效显示宽度是255。当插入的表的字段数据长度小于设定的INT(M)最大长度的时候,检索出来的数据会自动空格补充。

 

2:zerofill(补零),当实际插入的数据长度小于建表的时候设定的长度时候,它会从左开始补零。这个修饰符可以防止MySQL存储负值。

 

3:对于建表的时候,不指定INT的显示长度,系统会自动预设显示长度大小。

MySQL整数类型说明 int(11) vs int(20)的更多相关文章

  1. Mysql int(11) 和 int(1)

    Mysql 可以为整数类型制定宽度,例如:int(11) ,对大多数应用这是没有意义的:它不会限制值的合法范围,它只是规定了Mysql的一些交互工具(例如mysql命令行客户端)用来显示字符个数.对于 ...

  2. mysql整数类型

    数值类型 1.整数类型 整型类型的后面的宽度,不是存储宽度,是显示宽度,不够位数用0添加,够位数使用原数据 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用: ...

  3. mysql 整数类型 数值类型 tinyint

    1.整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 ============================== ...

  4. Mysql - 整数类型的存储字节数和范围

    MySQL 整数类型的存储字节数和范围 type 存储字节数 有符号最小值 无符号最小值 有符号最大值 无符号最大值 TINYINT 1 -128 0 127 255 SMALLINT 2 -3276 ...

  5. mysql整数类型int后面的长度有什么意义

    int 的 SQL-92 同义字为 integer.SQL-92 是数据库的一个标准. int类型的存储大小为4个字节 unsigned(无符号) int 存储范围是 2^4*8 int(M) 中的M ...

  6. mysql int类型 int(11) 和int(2)区别

    CREATE TABLE `learn` ( `id` int(11) unsigned NOT NULL, `exp` int(2) DEFAULT 0, PRIMARY KEY (`id`)) E ...

  7. MySQL int(11)及int(M)解析

    默认创建int类型的字段,SHOW CREATE TABLE table_name或DESC table_name常常可以看到其默认情况为int(11). 这个int(M)很多时候都会被误解为最大范围 ...

  8. 学习计划 mysql 整数类型后面的数字,是什么意思?

    Mysql中定义整数类型的数字,是指定这个字段的长度么? 比如 INT(10) 10代表10个字节么?还是只能存储10为长度的数字内容? 今天本来想学习下字符类型,一下子发现了这个,感觉好有趣. -- ...

  9. Mysql 整数类型的字段的属性设置及常用的函数

    数据类型 二.MySQL支持的数据类型 数值类型.日期类型.字符串类型 1.数值类型 1)整数类型 tinyint.smallint.mediumint.int和bigint 2)zerofill属性 ...

随机推荐

  1. C++入门学习——标准模板库之vector

    vector(向量容器),是 C++ 中十分实用一个容器.vector 之所以被觉得是一个容器,是由于它可以像容器一样存放各种类型的对象,简单地说,vector 是一个可以存放随意类型(类型可以是in ...

  2. jquery的验证实例方法

    上一篇介绍了js的正则验证法,这一片就用jquery来实例运行一下其中的几个方法 Js部分 <script> $(function(){ var ok1=false; var ok2=fa ...

  3. Vim知识点收集

    (注意: 只记录工作中实际使用的命令) 删除带有pattern的所有行    :g/pattern/d 删除不带pattern的所有行   :g!/pattern/d 匹配red和blue,无次序   ...

  4. confirm的用法 一般用于按钮操作时确定是否执行

    <script type = "text/javascript" language = "javascript"> function clear1( ...

  5. css基础-背景文本

    css背景 1. background-color:#6495ed; 2. background-image:url('bgdesert.jpg'); 3. background-repeat:rep ...

  6. (转) Dynamic memory

      In the programs seen in previous chapters, all memory needs were determined before program executi ...

  7. Sigmoid function in NN

    X = [ones(m, ) X]; temp = X * Theta1'; t = size(temp, ); temp = [ones(t, ) temp]; h = temp * Theta2' ...

  8. [Leetcode] Container With Most Water ( C++)

    题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...

  9. 安装fedora 16 之后

    电脑换了windows 8 系统之后,再装fedora,发现只有16可以正常安装而且是在win8里安装easyBCD,才能正常启动windows,这是我反复装了很多次才发现此情况的.无奈只能继续使用1 ...

  10. 【solr专题之一】Solr快速入门

    一.Solr学习相关资料 1.官方材料 (1)快速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html,以自带的example项目快速介绍发Solr ...