六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MYSQL中的int(11)代表什么

[摘要]在工作中經常要與mysql打交道,但是對mysql的各個字段類型一直都是一知半解,MYSQL中的int(11)代表什么呢?大家可能也不太清楚,因此寫本文總結記錄一番。對于int類型的一些基礎知識其實...
在工作中經常要與mysql打交道,但是對mysql的各個字段類型一直都是一知半解,MYSQL中的int(11)代表什么呢?大家可能也不太清楚,因此寫本文總結記錄一番。

對于int類型的一些基礎知識其實上圖已經說的很明白了,在這里想討論下常用的int(11)代表什么意思,很長時間以來我都以為這代表著限制int的長度為11位,直到有天看到篇文章才明白,11代表的并不是長度,而是字符的顯示寬度,在字段類型為int時,無論你顯示寬度設置為多少,int類型能存儲的最大值和最小值永遠都是固定的,這里貼一些原文片段

The number in the parenthesis does not determines the max and min values that can be stored in the integer field. The max and min values that can be stored are always fixed.

The display width of the column does not affects the maximum value that can be stored in that column. A column with INT(5) or INT(11) can store the same maximum values. Also, if you have a column INT(20) that does not means that you will be able to store 20 digit values (BIGINT values). The column still will store only till the max values of INT.

那么照文中所說,所以無論怎么設置int類型的顯示寬度,int所能存儲的最大值和最小值是固定的,那么這個顯示寬度到底有什么用呢?
當int字段類型設置為無符號填充零(UNSIGNED ZEROFILL)時,當數值位數未達到設置的顯示寬度時,會在數值前面補充零直到滿足設定的顯示寬度,為什么會有無符號的限制呢,是因為ZEROFILL屬性會隱式地將數值轉為無符號型,因此不能存儲負的數值。

具體用以下代碼解釋。

首先創建一張表:

CREATE TABLE int_demo (
    id INT(11) NOT NULL AUTO_INCREMENT,
    a INT(11) NOT NULL,
    b INT(11) UNSIGNED ZEROFILL NOT NULL,
    c INT(5) DEFAULT NULL,
    d INT(5) UNSIGNED ZEROFILL NOT NULL,
    e INT(15) DEFAULT NULL,
    PRIMARY KEY (`id`)
)

插入兩條數據

INSERT INTO int_demo (a, b, c, d, e) VALUES (1, 1, 1, 1, 1);
INSERT INTO int_demo (a, b, c, d, e) VALUES (1234567890, 1234567890, 1234567890, 1234567890, 1234567890);
 select * from int_demo;
idabcde
11000000000011000011
2123456789001234567890123456789012345678901234567890

注釋:如果用navicate軟件查詢出來并不會顯示左邊的0,但把數據導出時可看到真實的數據,猜測是軟件對數據格式進行了處理?

從上個例子我們可以得出以下幾個結論:

  1. 如果一個字段設置了無符號和填充零屬性,那么無論這個字段存儲什么數值,數值的長度都會與設置的顯示寬度一致,如上述例子中的字段b,插入數值1顯示為00000000001,左邊補了10個零直至長度達到11位;

  2. 設置字段的顯示寬度并不限制字段存儲值的范圍,比如字段d設置為int(5),但是仍然可以存儲1234567890這個10位數字;

  3. 設置的字符寬度只對數值長度不滿足寬度時有效,如d字段int(5),插入1時,長度不足5,因此在左邊補充4個零直到5位,但是插入1234567890時超過了5位,這時的顯示寬度就起不了作用了。

相關推薦:

MYSQL如何自動為查詢數據的結果編上序號方法教程

MySQL數據文件存儲位置的查看方法

mysql分頁性能探索

以上就是MYSQL中的int(11)代表什么的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 天天天天天干 | 欧美在线色 | 晚上正能量91香蕉 | 亚洲xx在线 | 日本青草 | 香港三级理论在线播放1 | 日本亚洲精品色婷婷在线影院 | 亚色91| 午夜精品久久久久久久99 | 亚洲成a人片在线看 | 日韩亚洲欧美在线观看 | 水蜜桃一区一区三全集 | 啪啪网站免费 | 青青草免费在线视频 | 亚洲高清免费视频 | 日本午夜免费福利视频 | 天天干视频网站 | 日本大片在线免费观看 | 亚洲午夜精品 | 色呦呦在线免费观看 | 天天综合天天做 | 深夜成人福利视频 | 天堂av2017男人的天堂 | 四虎在线最新永久免费 | 亚洲精品在线观看视频 | 天天爱综合 | 欧美一卡2卡3卡四卡海外精品 | 五月花精品视频在线观看 | 青草下载 | 一二三四社区在线高清3 | 午夜激情影视 | 青草青在线 | 亚洲第一激情 | 亚洲精品日韩专区在线观看 | 欧美在线看欧美高清视频免费 | 欧美亚洲一区二区三区在线 | 情侣国产 | 深夜免费视频 | 伊人影院亚洲 | 青青草偷拍视频 | 亚欧成人中文字幕一区 |