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

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

MySQL INT類型全解析

瀏覽:34日期: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久久,三上悠亚国产精品一区二区三区
久久av免费| 91亚洲国产高清| 日韩午夜av在线| 米奇777超碰欧美日韩亚洲| 欧美羞羞视频| 精品久久视频| 91亚洲国产成人久久精品| 水蜜桃久久夜色精品一区| а√在线中文在线新版| 精品欧美一区二区三区在线观看| 成人片免费看| 国产综合亚洲精品一区二| 国产亚洲高清在线观看| 视频精品一区| 三级久久三级久久久| 婷婷亚洲成人| 欧美一级全黄| 国产精品大片| 手机在线电影一区| 999精品在线| 伊人久久视频| 激情欧美一区| 免费看日韩精品| 日韩福利视频导航| 欧美精品第一区| 国产一区二区三区四区五区传媒| 理论片午夜视频在线观看| 久久久久99| 日韩中文字幕一区二区三区| 日韩精品中文字幕吗一区二区| 国产欧美精品| 国产中文在线播放| 最新国产拍偷乱拍精品| 四虎在线精品| 精品一区二区三区的国产在线观看| 老司机精品视频网| 国产精品久久久久av电视剧| 99热精品在线| 国产欧美另类| 久久亚洲国产| 日本综合精品一区| 国产成人免费精品| 黄色精品网站| 国产精品欧美一区二区三区不卡| 日韩精品dvd| 中文字幕av一区二区三区四区| 欧美日韩午夜电影网| 伊人网在线播放| 久久成人一区| 久久精品国内一区二区三区| 深夜视频一区二区| 六月婷婷一区| 国产成人77亚洲精品www| 亚洲中午字幕| 国产一区二区三区四区五区传媒| 视频一区中文| 国产精品第一| 99热精品在线| 美女国产一区二区三区| 欧洲激情综合| 久久99精品久久久野外观看| 亚洲黄色影院| 日韩午夜电影| 免费看av不卡| 日韩在线观看一区二区| 欧美日韩网址| 神马午夜久久| 国产日韩欧美一区在线| 欧美日韩中文一区二区| 久久精品凹凸全集| 伊人久久婷婷| 国内精品伊人| 日本不卡中文字幕| 久久九九国产| 久久99视频| 蜜臀va亚洲va欧美va天堂| 成人午夜亚洲| 欧美一级久久| 99在线|亚洲一区二区| 另类欧美日韩国产在线| 模特精品在线| 欧美日韩视频网站| 国产亚洲字幕| 伊人国产精品| 捆绑调教日本一区二区三区| 一区二区三区四区在线观看国产日韩| 91成人精品视频| 欧美国产免费| 亚洲啊v在线免费视频| 亚洲五月婷婷| 嫩呦国产一区二区三区av| 亚洲影视一区二区三区| 成人在线视频中文字幕| 国产亚洲精品v| 久久国产毛片| 你懂的亚洲视频| 亚洲欧洲美洲国产香蕉| 欧美日韩国产免费观看视频| 日韩黄色大片| 精品成av人一区二区三区| 日韩高清一级| 婷婷综合电影| 亚洲一区欧美激情| 亚洲高清毛片| 国产精品久久久久av电视剧| 成人台湾亚洲精品一区二区| 国产精品tv| 国产亚洲一区二区三区不卡| 亚州av一区| 亚洲精品观看| 午夜在线播放视频欧美| 亚洲精品国产偷自在线观看| 99精品视频在线| 免费高潮视频95在线观看网站| 岛国av在线网站| 国产伦久视频在线观看| а√天堂8资源中文在线| 国产aⅴ精品一区二区三区久久| 国产精品高清一区二区| 欧美日韩网址| 国产精品久久久久久久久久白浆 | 日本aⅴ免费视频一区二区三区| 爽爽淫人综合网网站| 午夜欧美精品| 国产精品日韩欧美一区| 久久www成人_看片免费不卡| 免费视频久久| 亚洲精品在线二区| 日韩不卡一二三区| 久久精品xxxxx| 欧美精品中文字幕亚洲专区| 国产午夜精品一区在线观看| 国产精品v日韩精品v欧美精品网站 | 日韩区欧美区| 国产激情久久| 国产女优一区| 亚洲免费黄色| 美女久久一区| 最新国产精品视频| 亚洲综合日本| 免费人成网站在线观看欧美高清| 丝袜美腿亚洲色图| 免费在线看一区| 日韩精品a在线观看91| 日本在线观看不卡视频| 日本不卡视频在线观看| 日韩成人在线看| 国产精品流白浆在线观看| 国产精品videossex| 精品国产精品国产偷麻豆 | 在线免费观看亚洲| 日韩高清在线一区| 精品99在线| 日韩大片在线播放| 在线综合亚洲| 日本三级亚洲精品| 国产在线不卡一区二区三区 | 欧美激情日韩| 亚洲最新无码中文字幕久久 | 午夜欧美精品久久久久久久| 亚洲天堂免费| 国产精品一区二区三区av麻| 欧美91精品| 国产视频一区欧美| 天堂俺去俺来也www久久婷婷| 国产伦精品一区二区三区视频 | 自拍日韩欧美| 中文字幕一区二区三区在线视频| 欧美在线黄色| 天堂√中文最新版在线| 91超碰国产精品| 天堂久久一区| 中文字幕色婷婷在线视频| 亚洲在线电影| 麻豆一区二区在线| 黄色欧美日韩| 国产精品.xx视频.xxtv| 性感美女一区二区在线观看| 快she精品国产999| 国产在线一区不卡| 香蕉视频成人在线观看| 麻豆国产精品视频| 国产婷婷精品| 免费在线亚洲欧美| 国产日韩专区| 精品欧美日韩精品| 99国产精品自拍| 精品丝袜久久| 蜜臀久久99精品久久久久宅男| 国产一区二区视频在线看| 蜜桃一区二区三区在线观看| 麻豆中文一区二区| 日韩精品一二三四| av中文字幕在线观看第一页| 中文字幕一区二区三区日韩精品| 成人影视亚洲图片在线| 日韩亚洲精品在线观看| 久久九九99| 你懂的国产精品| 中文字幕日韩欧美精品高清在线|