`
乌拉蕾
  • 浏览: 73496 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

mysql中 int(M)中M的含义

    博客分类:
  • DB
阅读更多

     昨天写sql文件时把以前一直不是很明白的地方弄明白了,就是在设置int型的时候,需要设置int(M),以前知道这个M最大是255,但是到底应该设置多少并没有在意。

     查了下官方manual 有这样的语句:

     M indicates the maximum display width for integer types. The maximum legal display width is 255.

     这个M 就是maximum display width。那什么是maximum display width?看了下面的例子很容易说明了,注意zerofill

 

 mysql> create table b ( b int (4));
Query OK, 0 rows affected (0.25 sec)

mysql> insert into b values ( 12345 );
Query OK, 1 row affected (0.00 sec)

mysql> select * from b;
+-------+
| b     |
+-------+
| 12345 |
+-------+
1 row in set (0.00 sec)

mysql> alter table b change b b int(11);
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from b;
+-------+
| b     |
+-------+
|
12345 |
+-------+
1 row in set (0.00 sec)

mysql> alter table b change b b int(11) zerofill ;
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from b ;
+-------------+
| b           |
+-------------+
| 000000
12345 |
+-------------+
1 row in set (0.00 sec)

mysql> alter table b change b b int(4) zerofill ;
Query OK, 1 row affected (0.08 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from b ;
+-------+
| b     |
+-------+
| 10000 |
+-------+
1 row in set (0.00 sec)

mysql> alter table b change b b int(6) zerofill ;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from b;
+--------+
| b      |
+--------+
| 0
12345 |
+--------+
1 row in set (0.00 sec)

     以上的例子说明了,这个M 的表示显示宽度,他跟着zerofill 一起才有意义。就算前面设置的M的值比数值实际的长度小对数据也没有任何影响。

0
0
分享到:
评论

相关推荐

    详解MySQL数据类型int(M)中M的含义

    介绍 MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储...原来,在 int(M) 中,M 的值跟 int(M) 所占

    mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    MySQL中的整数类型主要包括四种:`tinyint`、`smallint`、`int`和`bigint`,它们各自有不同的取值范围和存储需求,适用于不同的应用场景。 1. `tinyint`: `tinyint`是一种非常小的整数类型,主要用于存储只需要1...

    mysql int(3)与int(11)的区别详解

    mysql int(3)与int(11)的区别 总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加...

    简单谈谈MySQL中的int(m)

    在MySQL数据库中,`int` 是一种常用的整数数据类型,用于存储整数值。当我们创建一个`int`类型的字段时,经常会看到`int(m)`这样的语法,这里的`m`被称为显示宽度。不过,这个`m`实际上是一个容易引起误解的概念,它...

    Mysql中类型转换

    ### MySQL中的类型转换 在MySQL中,类型转换是一项非常实用的功能,它可以帮助我们处理不同数据类型之间的转换,尤其是在处理如日期、数字与字符串等类型的相互转换时尤其有用。本文将详细介绍MySQL中常用的类型...

    MySQL INT类型全解析

    在MySQL中,INT(M)的M表示的是该整数字段的最大显示宽度,而非该字段可以存储的最大数值宽度。即使设置了一个小的显示宽度,比如INT(2),也不会限制字段可以存储的数值大小,它仍然可以存储INT类型的最大范围值。...

    mysql数据类型

    MySQL 中的整型包括 tinyint、smallint、mediumint、int、bigint 等五种,分别占用 1、2、3、4、8 个字节的存储空间。每种整型都有其对应的取值范围,例如 tinyint 的取值范围为 -128 到 127,如果加上 unsigned ...

    mysql日期date型和int型互换的方法

    一、date型转换成int型 UNIX_TIMESTAMP(‘1997-10-04 22:23:00’) =====> 875996580 二、int型转换成date型 FROM_UNIXTIME...以上就是小编为大家带来的mysql日期date型和int型互换的方法全部内容了,希望大家

    mysql-reference.rar_MySQL reference_mysql reference_reference m

    3. **数据类型与字段**:手册列出了MySQL支持的所有数据类型,如INT、VARCHAR、DATE、TEXT等,以及它们的适用场景和限制。 4. **索引**:索引是提升数据库查询性能的关键,手册讲解了如何创建和管理B-Tree、Hash、R...

    MySQL字段类型说明

    * INT[(M)] [UNSIGNED] [ZEROFILL]:一个正常大小的整数,范围是-2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号)。 * INTEGER[(M)] [UNSIGNED] [ZEROFILL]:INT 的一个同义词。 * BIGINT[(M)] ...

    mysql执行过程

    MySQL 存储过程是一个预编译的 SQL 语句集合,可以将多个 SQL 语句组合成一个单独的执行单元,存储在 MySQL 服务器中。存储过程可以提高数据库的性能、安全性和可维护性。 创建数据库和表 在 MySQL 中,创建数据库...

    MYSQL安装包官方试用版

    对于CHAR、VARCHAR和TEXT类型,前面的表中的值L和M应解释为字符数目,并且列定义中的这些类型的长度表示字符数目。例如,要想保存一个TINYTEXT值需要L字符+ 1个字节。 要想计算用于保存具体CHAR、VARCHAR或者TEXT列...

    国家开放大学 数据库运维 形考一 MySQL数据库服务器配置

    可以创建一个数据表 t_myisam(id int auto_increment, name varchar(30),primary key(id)),创建时显式指定存储引擎为 MyISAM。使用“ALTER TABLE TABLE_NAME ENGINE=ENGINE_NAME”语句,更改表 t_myisam 的存储...

    db2迁移到mysql.docx

    本文档主要介绍从DB2数据库迁移到MySQL数据库的过程中需要注意的一些关键点和技术细节。这包括了数据类型转换、SQL语法差异处理、函数转换等方面的内容。 #### 二、withur处理 在DB2中,`WITH UR` 是一个用于优化...

Global site tag (gtag.js) - Google Analytics