日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL INT類型全解析

瀏覽:36日期:2023-10-13 13:13:34

前言:

整型是MySQL中最常用的字段類型之一,通常用于存儲整數,其中int是整型中最常用的,對于int類型你是否真正了解呢?本文會帶你熟悉int類型相關知識,也會介紹其他整型字段的使用。

1.整型分類及存儲范圍

整數類型 字節 有符號范圍 無符號范圍 TINYINT 1 -128 ~ 127 0 ~ 255 SMALLINT 2 -32768 ~ 32767 0 ~ 65535 MEDIUMINT 3 -8388608 ~ 8388607 0 ~ 16777215 INT/INTEGER 4 -2147483648 ~ 2147483647 0 ~ 4294967295 BIGINT 8 -9223372036854775808 ~ 9223372036854775807 0 ~ 18446744073709551615

表格一共有四列分別表示:字段類型, 占用字節數, 有符號范圍, 無符號范圍。我們拿int類型為例:int類型, 占用字節數為4byte, 學過計算機原理的同學應該知道, 字節(byte)并非是計算機存儲的最小單位, 還有比字節(byte)更小的單位, 也就是位(bit),一個位就代表一個0或1; 8個位組成一個字節; 一般字節用大寫B來表示byte, 位用小寫b來表示bit.

計算機存儲單位的換算: 1B=8b 1KB=1024B 1MB=1024KB

那么根據int類型允許存儲的字節數是4個字節, 我們就能換算出int UNSIGNED(無符號)類型的能存儲的最小值為0, 最大值為4294967295(即4B=32b, 最大值即為32個1組成,即4294967295換算成二進制則是32個1)。

2.存儲范圍測試

mysql> CREATE TABLE test_int ( -> col1 TINYINT, -> col2 SMALLINT, -> col3 MEDIUMINT, -> col4 INT, -> col5 BIGINT -> ) ENGINE = INNODB DEFAULT CHARSET = utf8;Query OK, 0 rows affected (0.01 sec)mysql> show create table test_intG*************************** 1. row *************************** Table: test_intCreate Table: CREATE TABLE `test_int` ( `col1` tinyint(4) DEFAULT NULL, `col2` smallint(6) DEFAULT NULL, `col3` mediumint(9) DEFAULT NULL, `col4` int(11) DEFAULT NULL, `col5` bigint(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)mysql> insert into test_int values (1234,123456,12345678,12345678901,12345678901234567890);Query OK, 1 row affected, 5 warnings (0.00 sec)mysql> insert into test_int values (-1234,-123456,-12345678,-12345678901,-12345678901234567890);Query OK, 1 row affected, 5 warnings (0.01 sec)mysql> show warnings;+---------+------+-----------------------------------------------+| Level | Code | Message |+---------+------+-----------------------------------------------+| Warning | 1264 | Out of range value for column ’col1’ at row 1 || Warning | 1264 | Out of range value for column ’col2’ at row 1 || Warning | 1264 | Out of range value for column ’col3’ at row 1 || Warning | 1264 | Out of range value for column ’col4’ at row 1 || Warning | 1264 | Out of range value for column ’col5’ at row 1 |+---------+------+-----------------------------------------------+5 rows in set (0.01 sec)mysql> select * from test_int;+------+--------+----------+-------------+----------------------+| col1 | col2 | col3 | col4 | col5 |+------+--------+----------+-------------+----------------------+| 127 | 32767 | 8388607 | 2147483647 | 9223372036854775807 || -128 | -32768 | -8388608 | -2147483648 | -9223372036854775808 |+------+--------+----------+-------------+----------------------+

從上述測試中我們可以看出:有符號時,各種整型類型最大的存儲范圍,當存儲數字大小不在存儲范圍時,MySQL會產生告警,但數字可以插入,默認截取為可存儲的最大值或最小值。

3.int(M)中M的含義與zerofill的使用

我們經常聽到這句話:int(M)中的M代表最大顯示寬度,'最大顯示寬度'我們第一反應是該字段的值最大能允許存放的值的寬度,以為我們建了int(1),就不能存放數據10了, 其實不是這個意思。整數列的顯示寬度與mysql需要用多少個字符來顯示該列數值,與該整數需要的存儲空間的大小都沒有關系,比如,不管設定了顯示寬度是多少個字符,int都是占用4個字節,bigint都要占用8個字節。即int(5)和int(10)可存儲的范圍一樣。整型字段有個ZEROFILL屬性(0填充),在數字長度不夠的數據前面填充0,以達到設定的長度。加上ZEROFILL后M才表現出不同,當使用ZEROFILL時,默認會自動加unsigned(無符號)屬性。比如 INT(3) ZEROFILL,你插入到數據庫里的是10,則實際插入為010,也就是在前面補充加了一個0,下面我們來測試下:

mysql> CREATE TABLE test_int_zerofill ( -> col1 INT(5) ZEROFILL, -> col2 INT ZEROFILL, -> col3 INT(5) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected (0.01 sec)mysql> show create table test_int_zerofillG*************************** 1. row *************************** Table: test_int_zerofillCreate Table: CREATE TABLE `test_int_zerofill` ( `col1` int(5) unsigned zerofill DEFAULT NULL, `col2` int(10) unsigned zerofill DEFAULT NULL, `col3` int(5) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)mysql> insert into test_int_zerofill values (12,12,12);Query OK, 1 row affected (0.00 sec)mysql> select * from test_int_zerofill;+-------+------------+------+| col1 | col2 | col3 |+-------+------------+------+| 00012 | 0000000012 | 12 |+-------+------------+------+1 row in set (0.00 sec)

那么有同學可能會問zerofill有什么應用場景呢,比較常用的應該是月份或日期前補0,這樣顯示的會規范些

CREATE TABLE `t_zerofill` ( `year` year(4) DEFAULT NULL, `month` int(2) unsigned zerofill DEFAULT NULL, `day` int(2) unsigned zerofill DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;mysql> insert into t_zerofill values (2019,6,5);Query OK, 1 row affected (0.01 sec)mysql> insert into t_zerofill values (2019,6,18);Query OK, 1 row affected (0.00 sec)mysql> insert into t_zerofill values (2019,10,1);Query OK, 1 row affected (0.00 sec)mysql> insert into t_zerofill values (2019,11,11);Query OK, 1 row affected (0.01 sec)mysql> select * from t_zerofill;+------+-------+------+| year | month | day |+------+-------+------+| 2019 | 06 | 05 || 2019 | 06 | 18 || 2019 | 10 | 01 || 2019 | 11 | 11 |+------+-------+------+4 rows in set (0.00 sec)

4.類型選取

經過上面的介紹,關于不同整型字段的選取變得容易很多。本著最小化存儲的原則,當然是能選TINYINT不選SMALLINT,能選MEDIUMINT不選INT了,不過一切都要滿足業務的前提下盡量選取占用字節更少的類型。對于確定只存儲正整數的字段,可以加上unsigned屬性,這樣會使存儲范圍更大,比如當字段有AUTO_INCREMENT屬性時,我們可以為int類型加上unsigned屬性。

以上就是MySQL INT類型全解析的詳細內容,更多關于MySQL INT類型的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
四虎成人精品一区二区免费网站| 精品视频黄色| 亚洲一区二区三区四区五区午夜| 久久一区二区三区电影| 在线成人直播| 午夜亚洲福利| 日韩中文字幕在线一区| 久久不见久久见中文字幕免费| 久久精品国产网站| 日韩精品免费一区二区三区| 欧美~级网站不卡| 色综合视频一区二区三区日韩| 日本中文字幕一区二区| 蜜桃视频免费观看一区| 欧美在线观看天堂一区二区三区| 国产精品一区三区在线观看| 91亚洲国产成人久久精品| 日韩福利一区| 亚洲一区二区小说| 美女精品久久| 夜夜精品视频| 日本午夜精品| 国产综合色区在线观看| 蜜臀久久99精品久久久画质超高清 | 高清一区二区三区av| 国产视频一区在线观看一区免费| 日韩中文首页| 亚洲激情久久| 久久精品xxxxx| 久久蜜桃av| 国产精品美女在线观看直播| 久久一区二区中文字幕| 欧美一区精品| 在线亚洲自拍| 人人爱人人干婷婷丁香亚洲| 激情综合网站| 在线手机中文字幕| 国产精品一国产精品k频道56| 国产91久久精品一区二区| 国产精品.xx视频.xxtv| 亚洲综合小说| 夜久久久久久| 久久国产电影| 91成人福利| 高清一区二区三区| 国产欧美日韩亚洲一区二区三区| 亚洲综合精品| 久久精品免费一区二区三区| 久久久久久久久成人| 石原莉奈一区二区三区在线观看 | 91久久视频| 亚洲精品a级片| 亚洲午夜精品久久久久久app| 在线看片国产福利你懂的| 嫩草伊人久久精品少妇av杨幂| 奇米亚洲欧美| 国产调教精品| 国产欧美自拍| 不卡专区在线| 美女网站一区| 丝袜美腿一区二区三区| 亚洲精品视频一二三区| 美女av在线免费看| 久久精品二区亚洲w码| 国产第一亚洲| 久久免费国产| 老司机久久99久久精品播放免费| 亚洲综合三区| 日本欧美韩国一区三区| 国产精品对白| 日韩亚洲一区在线| 亚洲免费播放| 青草国产精品| 国产aa精品| 国产视频一区三区| 欧美亚洲三级| 99精品视频在线| 水野朝阳av一区二区三区| 综合五月婷婷| 国产一区二区三区精品在线观看| 欧美日韩中文字幕一区二区三区 | 久久精品毛片| 黄色国产精品| 欧美精品97| 欧美日韩精品免费观看视频完整| 四虎成人精品一区二区免费网站| 91日韩免费| 日韩国产欧美三级| 久久婷婷久久| 国产色噜噜噜91在线精品| 99精品视频在线| 日本成人在线网站| 91精品啪在线观看国产18| 日韩av午夜在线观看| 一区二区三区视频免费观看| 国产乱人伦丫前精品视频| 99久久久久久中文字幕一区| 国产乱码精品一区二区亚洲| 亚洲免费高清| 久久免费国产| 成人在线免费观看网站| 亚洲精品在线国产| 性欧美69xoxoxoxo| 中文在线а√天堂| 欧美激情网址| 欧美亚洲色图校园春色| 亚洲美洲欧洲综合国产一区| 日韩中文首页| 青青青免费在线视频| 国产精品1区| 麻豆精品国产91久久久久久| 国产图片一区| 国产精品一区二区av日韩在线 | 麻豆成人在线| 亚洲精品极品少妇16p| 日韩高清中文字幕一区二区| 国产一区二区三区四区五区| 精品深夜福利视频| 美女精品久久| 精品国产18久久久久久二百| 日韩1区2区日韩1区2区| 日韩视频一二区| 日韩va欧美va亚洲va久久| 亚州av日韩av| 欧美日韩中出| 麻豆精品在线观看| 久久99精品久久久久久园产越南 | www.51av欧美视频| 日韩中文在线播放| 欧美 日韩 国产精品免费观看| 九九在线精品| 国产一区91| 日本不卡视频在线观看| 国产丝袜一区| 日韩久久精品| 亚洲在线成人| 欧美有码在线| 岛国av在线播放| 亚洲激情中文| 国产精品亚洲产品| 视频二区不卡| 蜜桃传媒麻豆第一区在线观看| 91麻豆精品| 亚洲成人va| 四虎精品一区二区免费| 精品国产乱码久久久| 丝袜美腿诱惑一区二区三区| 免费精品视频最新在线| 国产探花一区| 欧美色图国产精品| 国产亚洲精品美女久久久久久久久久| 精品视频一区二区三区四区五区| 不卡在线一区| 久久av电影| 视频在线观看一区| 国产精品毛片一区二区在线看| 亚洲综合电影一区二区三区| 国内不卡的一区二区三区中文字幕| jiujiure精品视频播放| 麻豆国产精品777777在线| 亚洲黄色影院| 久久精品国产99国产精品| 久久不射网站| 色天使综合视频| 久久中文字幕导航| 亚洲我射av| 91九色精品| 亚洲啊v在线| 美女毛片一区二区三区四区最新中文字幕亚洲 | 卡一精品卡二卡三网站乱码| 蜜臀久久99精品久久久画质超高清| 国产h片在线观看| 久久不见久久见免费视频7| 黑丝一区二区三区| 亚洲成人av观看| 日韩成人精品一区二区| 久久国产精品美女| 清纯唯美亚洲综合一区| 丝瓜av网站精品一区二区| 欧美日韩精品一本二本三本| 美女网站视频一区| 日韩大片在线观看| 国产成人a视频高清在线观看| 国产高清亚洲| 国产成人精品一区二区免费看京 | 国产精品大片| 国产精品中文字幕亚洲欧美| 国产午夜久久av| 国产精品日韩精品在线播放| 日本免费新一区视频| 婷婷精品在线| 日韩精品导航| 欧美视频久久| 国产精品啊啊啊| 国产一区二区三区四区| 天堂√中文最新版在线| 理论片午夜视频在线观看| 高清一区二区三区| 亚洲午夜av| 中文字幕日韩高清在线|