日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?

發(fā)布時間:2025/3/21 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL 數(shù)據(jù)類型中的 integer types 有點奇怪。你可能會見到諸如:int(3)、int(4)、int(8) 之類的 int 數(shù)據(jù)類型。剛接觸 MySQL 的時候,我還以為 int(3) 占用的存儲空間比 int(4) 要小, int(4) 占用的存儲空間比 int(8) 小。

后來,參看 MySQL 手冊,發(fā)現(xiàn)自己理解錯了。 int(M): M indicates the maximum display width for integer types.

在 integer 數(shù)據(jù)類型中,M 表示最大顯示寬度。 原來,在 int(M) 中,M 的值跟 int(M) 所占多少存儲空間并無任何關(guān)系。 int(3)、int(4)、int(8) 在磁盤上都是占用 4 btyes 的存儲空間。說白了,除了顯示給用戶的方式有點不同外,int(M) 跟 int 數(shù)據(jù)類型是相同的。

另外,int(M) 只有跟 zerofill 結(jié)合起來,才能使我們清楚的看到不同之處。

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 型數(shù)值顯示的寬度,如果字段數(shù)據(jù)類型是 int(4),則:當顯示數(shù)值 10 時,在左邊要補上 “00”;當顯示數(shù)值 100 是,在左邊要補上“0”;當顯示數(shù)值 1000000 時,已經(jīng)超過了指定寬度“(4)”,因此按原樣輸出。 在使用 MySQL 數(shù)據(jù)類型中的整數(shù)類型(tinyint, smallint, mediumint, int/integer, bigint)時,非特殊需求下,在數(shù)據(jù)類型后加個“(M)”,我想不出有何意義。

總結(jié)

以上是生活随笔為你收集整理的mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。