日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

你對MySQL的int(11)真的了解嗎?

來源: 責編: 時間:2024-02-01 12:52:16 233觀看
導讀最近在網上看到一篇關于int(3)和int(11)區別的帖子,我第一反應這不就是它們之間主要涉及存儲整型數據時所需的位數,即3位和11位的差異。然而,經過詳細閱讀文章并進行進一步的資料查詢和測試后,我才發現我一直以來對于int(

最近在網上看到一篇關于int(3)和int(11)區別的帖子,我第一反應這不就是它們之間主要涉及存儲整型數據時所需的位數,即3位和11位的差異。然而,經過詳細閱讀文章并進行進一步的資料查詢和測試后,我才發現我一直以來對于int(3)的理解存在誤差。今天,我打算與家人分享這一新的認識。69d28資訊網——每日最新資訊28at.com

圖片mysql-int.jpg69d28資訊網——每日最新資訊28at.com

MYSQL int 數據存儲范圍

首先,需要明確的是,int(3)和int(11)都是表示整數類型,而不是定義整數的存儲長度。在MySQL中,INT類型占據4個字節(32位),可以存儲范圍是-2^31到2^31-1(約-2.1億到2.1億),這個范圍是固定的,不受括號中數字的影響。69d28資訊網——每日最新資訊28at.com

顯示寬度

int(3)和int(11) 區別在于顯示寬度的影響。當我們定義一個字段為int(3)時,這個數字表示的是在使用ZEROFILL填充字符時的顯示寬度,而不是實際存儲的整數位數。使用ZEROFILL會在數字不足指定寬度時,在前面用零進行填充。69d28資訊網——每日最新資訊28at.com

我們可以在mysql(5.7)中創建數據查看下具體的效果:69d28資訊網——每日最新資訊28at.com

創建表:69d28資訊網——每日最新資訊28at.com

CREATE TABLE `int_test1` (  `int_3` int(3) ,  `int_11` int(11) ,  `int_zf_3` int(3)  ZEROFILL ,  `int_zf_11` int(11)  ZEROFILL );

添加數據:69d28資訊網——每日最新資訊28at.com

INSERT INTO int_test1(int_3,int_11,int_zf_3,int_zf_11) VALUES (1,1,1,1),(2365,2365,2365,2365);

查看數據:69d28資訊網——每日最新資訊28at.com

圖片圖片69d28資訊網——每日最新資訊28at.com

_20240127224156.jpg69d28資訊網——每日最新資訊28at.com

可以看到,int() 括號中的數字是在位數不足時如果使用ZEROFILL的話會在前面用零進行填充,補齊到括號中數字的位數。69d28資訊網——每日最新資訊28at.com

注意事項

  • 使用ZEROFILL填充字段 時插入負數報錯

因為ZEROFILL屬性只適用于非負整數。所以當我們插入負數時會報錯。69d28資訊網——每日最新資訊28at.com

圖片圖片69d28資訊網——每日最新資訊28at.com

我們打開表的DDl,就可以看到,我們設置ZEROFILL的時候他會自動設置為unsigned(無符號)69d28資訊網——每日最新資訊28at.com

圖片圖片69d28資訊網——每日最新資訊28at.com

  • ZEROFILL只在整數類型上有效,對于其他數據類型(如浮點數)不適用。
  • 在mysql8.0 中,只有設置了ZEROFILL,才能看到int(),否則都是int

實際應用

我們在實際生產環境使用查詢的時候通常要把數據庫的int數據轉化為java對象的Integer,所以ZEROFILL在實際生產中使用的很少,其次我們需要給數據補齊位數的時候通常是在程序中做處理,不會依賴數據庫,這樣我們的業務才能更靈活。69d28資訊網——每日最新資訊28at.com

總結

在數據庫設計中,INT(3)和INT(11)的區別主要在于它們控制輸出時的顯示寬度。實際的存儲大小是相同的,都占用4個字節。而括號中的數字在非ZEROFILL的情況下,只是指定了輸出時的最小寬度,不足時會用空格填充。在ZEROFILL的情況下,還會影響零填充的總寬度。因此,在選擇使用INT(3)還是INT(11)時,主要考慮的是對數據的顯示控制需求。69d28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-70479-0.html你對MySQL的int(11)真的了解嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Java中的并發編程模型及其應對策略

下一篇: 面試官:說一下零拷貝技術的實現原理?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 民勤县| 大洼县| 孝感市| 湘潭县| 华亭县| 云林县| 山东省| 洛川县| 屏东县| 巴东县| 彭山县| 团风县| 鲁山县| 文成县| 米泉市| 榆林市| 晋江市| 鄂托克前旗| 夏邑县| SHOW| 泸州市| 从化市| 任丘市| 岳阳市| 鲁山县| 博白县| 油尖旺区| 永昌县| 金平| 新沂市| 韶关市| 台山市| 巴彦淖尔市| 克东县| 正阳县| 怀仁县| 乌拉特前旗| 迁西县| 威宁| 平塘县| 临武县|