最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中int(n)后面的n到底代表的是什么意思

 更新時間:2020年11月19日 10:54:13   作者:極客小俊GeekerJun  
這篇文章主要介紹了MySQL中int(n)后面的n到底代表的是什么意思 ,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

你可能已經(jīng)知道int(1)這個長度1并不代表允許存儲的寬度!

但對這個長度很多人也沒有真正研究過到底代表什么,今天我就來簡單的分析一下!

先看一個簡單的建表小案例:

create table test(
 id int(11) unsigned NOT NULL AUTO_INCREMENT,
 uid int(3) NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

這里以uid字段為例,我們這里設置的是int(3)

那么問題來了 難道我們設置int(3),就不能存放數(shù)據(jù)1234了?

那么你完全可以測試一下 輸入如下SQL語句

insert into `test` (`uid`) VALUES(1234);
insert into `test` (`uid`) VALUES(12345678);

結果圖如下:

小伙伴們通過上面的SQL語句可以發(fā)現(xiàn) 成功把數(shù)據(jù)1234插入, 并且我們還可以插入存放更多位的數(shù)據(jù)! 這是為什么呢? 看下面

原因如下:

這個int(n)我們可以簡單的理解為:

這個長度是為了告訴MySQL數(shù)據(jù)庫,我們這個字段的存儲的數(shù)據(jù)的寬度為n位數(shù), 當然如果你不是存儲的n位數(shù), 但是(只要在該類型的存儲范圍之內(nèi))MySQL也能正常存儲!

那么我們可以從新來建立test2表, 然后這一次我們把uid字段加上:  unsigned 和 zerofill  這兩個字段約束

==字段約束會在后面詳細講到==

MySQL代碼如下:

create table test2(
 id int(11) unsigned NOT NULL AUTO_INCREMENT,
 uid int(3) unsigned zerofill NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

現(xiàn)在我的uid字段:長度(n)=3, 字段約束=unsigned 和 zerofill   備: (無符號約束 和 用0來填充位數(shù)約束)

設置這個約束的字段后,再往表時插入數(shù)據(jù),系統(tǒng)會自動把uid字段不夠3位的在左側用0來填充

小伙伴完全可以測試一下代碼:  向uid字段插入一個33的數(shù)字

insert into `test2` (`uid`) VALUES(33);

結果圖 如下:

大家是不是驚奇的發(fā)現(xiàn)不足長度3的時候, 真的用0來 從左邊開始填充!  哈哈哈

所以:現(xiàn)在我們應該清楚的知道,int后的長度n 與你存放的數(shù)值型的數(shù)的大小無關!

==小結:== 

在定義表字段數(shù)據(jù)類型為int類型的時候,后面的長度n所代表的長度是沒有任何意義的, 只要在該類型的存儲范圍之內(nèi)MySQL也能正常存儲!  如果一定要左側補0 那么這個字段必須要有zerofill約束和unsigned 無符號約束!

到此這篇關于MySQL中int(n)后面的n到底代表的是什么意思 的文章就介紹到這了,更多相關MySQL int(n)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 學習mysql之后的一點總結(基礎)

    學習mysql之后的一點總結(基礎)

    學習mysql之后的一點總結,比較適合新手朋友
    2012-05-05
  • 配置mysql允許遠程連接的方法

    配置mysql允許遠程連接的方法

    默認情況下,MySQL只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/my.cnf文件
    2013-02-02
  • mysql中is null語句的用法分享

    mysql中is null語句的用法分享

    對null的特殊處理即是在前面的章節(jié)中,為了決定哪個動物不再是活著的,使用death is not null而不使用death != null的原 因
    2011-05-05
  • mysql 8.0.15 下載安裝詳細教程 新手必備!

    mysql 8.0.15 下載安裝詳細教程 新手必備!

    這篇文章主要為大家詳細介紹了mysql 8.0.15 下載安裝詳細教程,純新手教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復制

    linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復制

    在MySQL的主從復制中,其傳輸過程是明文傳輸,并不能保證數(shù)據(jù)的安全性,今天我們就來討論下linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復制,有需要的小伙伴可以參考下
    2016-11-11
  • MySQL高級特性——數(shù)據(jù)表分區(qū)的概念及機制詳解

    MySQL高級特性——數(shù)據(jù)表分區(qū)的概念及機制詳解

    當數(shù)據(jù)表過大時,通過普通的查詢優(yōu)化技巧已經(jīng)無法大幅度提升性能,此時往往需要進行分區(qū)分表優(yōu)化。分區(qū)其實是將一張邏輯上統(tǒng)一的表在物理上劃分成了多張表。分區(qū)操作對使用者而言是一個黑盒操作,但是如果你從文件系統(tǒng)上看,就會看到分區(qū)數(shù)據(jù)表的實際存儲方式是分開的。
    2021-05-05
  • MySQL觸發(fā)器trigger的使用

    MySQL觸發(fā)器trigger的使用

    這篇文章主要介紹了MySQL觸發(fā)器trigger的使用,觸發(fā)器是與表有關的數(shù)據(jù)庫對象,在滿足定義條件時觸發(fā),并執(zhí)行觸發(fā)器中定義的語句集合,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • mysql中的各種約束條件深入探討

    mysql中的各種約束條件深入探討

    在mysql中對編輯的數(shù)據(jù)進行類型的限制,不滿足約束條件的報錯,本文給大家分享mysql中的各種約束條件,結合實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-05-05
  • Mysql中SQL語句不使用索引的情況

    Mysql中SQL語句不使用索引的情況

    今天小編就為大家分享一篇關于Mysql中SQL語句不使用索引的情況,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MySQL優(yōu)化常用的19種有效方法(推薦!)

    MySQL優(yōu)化常用的19種有效方法(推薦!)

    關于數(shù)據(jù)庫優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,有些總結的不夠到位,內(nèi)容冗雜,下面這篇文章主要給大家介紹了關于MySQL優(yōu)化常用的19種有效方法,需要的朋友可以參考下
    2022-03-03

最新評論

伊金霍洛旗| 云阳县| 博野县| 阿勒泰市| 奉节县| 永仁县| 弥渡县| 莱阳市| 合作市| 成武县| 黄龙县| 晋城| 胶州市| 北流市| 托克逊县| 陇川县| 时尚| 信宜市| 南木林县| 两当县| 南投市| 明星| 潼关县| 沁源县| 内江市| 高淳县| 凤庆县| 拉萨市| 九江市| 阿克苏市| 龙里县| 含山县| 弥勒县| 乌拉特中旗| 塔城市| 仁布县| 隆安县| 苍南县| 会同县| 集安市| 邹平县|