11表示數(shù)據(jù)占用11個字節(jié)長度比如數(shù)字10那么占位就是00000000010。它最大表示的數(shù)應(yīng)該是2的88次方減一,很大非常大。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)灌陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
一:MySQL數(shù)據(jù)類型
MySQL中定義數(shù)據(jù)字段的類型對你數(shù)據(jù)庫的優(yōu)化是非常重要的
MySQL支持多種數(shù)據(jù)類型,大致可以分為三類:數(shù)值 日期/時間和字符串
二、數(shù)值類型
1.整數(shù)類型
2.浮點數(shù)
如果希望保證值比較準(zhǔn)確,推薦使用定點數(shù)數(shù)據(jù)類型。MySql中的浮點類型有float,double和real。他們定義方式為:FLOAT(M,D) 、 REAL(M,D) 、 DOUBLE PRECISION(M,D)。
FLOAT和DOUBLE中的M和D的取值默認都為0,即除了最大最小值,不限制位數(shù)。允許的值理論上是-1.7976931348623157E+308~-2.2250738585072014E-308、0和2.2250738585072014E-308~1.7976931348623157E+308。M、D范圍如下:
(MySql5.7實測,與IEEE標(biāo)準(zhǔn)計算的實際是不同的,下面介紹):M取值范圍為0~255。FLOAT只保證6位有效數(shù)字的準(zhǔn)確性,所以FLOAT(M,D)中,M=6時,數(shù)字通常是準(zhǔn)確的。如果M和D都有明確定義,其超出范圍后的處理同decimal。
D取值范圍為0~30,同時必須=M。double只保證16位有效數(shù)字的準(zhǔn)確性,所以DOUBLE(M,D)中,M=16時,數(shù)字通常是準(zhǔn)確的。如果M和D都有明確定義,其超出范圍后的處理同decimal。
CHAR值時,在它們的右邊填充空格以達到指定的長度。當(dāng)檢索到CHAR值時,尾部的空格被刪除掉,所以,我們在存儲時字符串右邊不能有空格,即使有,查詢出來后也會被刪除。在存儲或檢索過程中不進行大小寫轉(zhuǎn)換。
三、時間日期類型(5)
該“0”值如下:
請點擊輸入圖片描述
四、各種類型占用的存儲
1.數(shù)值類型
請點擊輸入圖片描述
定點數(shù)的比較特殊,而且與具體版本也有關(guān)系,此處單獨解釋:
使用二進制格式將9個十進制(基于10)數(shù)壓縮為4個字節(jié)來表示DECIMAL列值。每個值的整數(shù)和分數(shù)部分的存儲分別確定。每個9位數(shù)的倍數(shù)需要4個字節(jié),并且“剩余的”位需要4個字節(jié)的一部分。下表給出了超出位數(shù)的存儲需求:
請點擊輸入圖片描述
2.時間日期
請點擊輸入圖片描述
從版本5.6.4開始,存儲需求就有所改變,根據(jù)精度而定。不確定部分需要的存儲如下:
請點擊輸入圖片描述
比如,TIME(0), TIME(2), TIME(4), 和TIME(6) 分別使用3, 4, 5, 6 bytes?!?/p>
3.字符串
請點擊輸入圖片描述
4.類型的選擇
為了優(yōu)化存儲,在任何情況下均應(yīng)使用最精確的類型。
例如,如果列的值的范圍為從1到99999,若使用整數(shù),則MEDIUMINT UNSIGNED是好的類型。在所有可以表示該列值的類型中,該類型使用的存儲最少。
用精度為65位十進制數(shù)(基于10)對DECIMAL 列進行所有基本計算(+、-、*、/)。
使用雙精度操作對DECIMAL值進行計算。如果準(zhǔn)確度不是太重要或如果速度為最高優(yōu)先級,DOUBLE類型即足夠了。為了達到高精度,可以轉(zhuǎn)換到保存在BIGINT中的定點類型。這樣可以用64位整數(shù)進行所有計算,根據(jù)需要將結(jié)果轉(zhuǎn)換回浮點值。
5.使用其他數(shù)據(jù)庫的SQL語句
為了使用為其它數(shù)據(jù)庫編寫的SQL執(zhí)行代碼,MySQL按照下表所示對列類型進行映射。通過這些映射,可以很容易地從其它數(shù)據(jù)庫引擎將表定義導(dǎo)入到MySQL中:
請點擊輸入圖片描述
Mysql 建表過程中:
MySQL中int類型占用4個字節(jié)[byte(B)],1B有8個位[bit(b)],一個位(b)就代表一個0或者1,那么MySQL中int占用4B,對應(yīng)位就是 4*8b = 32b 了,也就是說 int 表示的數(shù)字 個數(shù) 是: 2的32次方。
因為字節(jié)分有符號和無符號兩種,于是 int 有符號 的 范圍就是 -2的31次方 到 2的31次方減去1 [?1 為什么不是32次方?] [?2 為什么要減去1?],即 -2147483648 ~ 2147483647; int 無符號(unsigned) 的 范圍就是 0 到 2的32次方減去1。
知道了 int 類型的范圍后,我們再來看看長度是什么意思。 在MySQL手冊中,字段類型的長度用 “M” 表示,表示最大顯示寬度。 int 的 最大有效顯示寬度是 255。 注意: 此處表示 顯示寬度 和 存儲大小或類型及范圍 無關(guān)
參考:
1、
每種日期和時間類型都有一個有效范圍。如果插入的值超出相應(yīng)范圍,系統(tǒng)會報錯并將相應(yīng)的零值插入到數(shù)據(jù)庫中,各個類型的零值請看上表。
YEAR類型用4位數(shù)表示年份。范圍從1901~2155,插入超范圍的值時系統(tǒng)報錯并插入0000。
DATE類型用YYYY-MM-DD形式顯示日期。范圍從1000-01-01~9999-12-31插入超范圍的值時系統(tǒng)報錯并插入零值。此類型除了可接受YYYY-MM-DD和YYYYMMDD格式的輸入外,還可以識別其它一些不嚴格的語法格式,例如YYYY/MM/DD、YYYY.MM.DD等其他標(biāo)點符號作為間隔的形式日期值的輸入。
TIME類型用HH:MM:SS形式顯示時間。其中MM和SS的取值范圍是0~59,HH的取值范圍比較特別其取值范圍是0~838,一般來講小時數(shù)的范圍是0~23,但是為了滿足特殊情況的需要,MySQL擴大了TIME類型的范圍,而且可以接受負數(shù)。TIME類型支持D HH:MM:S格式的時間表達字串,D表示天數(shù),取值范圍0~34。例如,輸入30 21:15:26,系統(tǒng)會將小時部分按30*24+21轉(zhuǎn)換為 741:15:26。除了標(biāo)準(zhǔn)的輸入方式HH:MM:SS外,此類型還可以接受一些非標(biāo)準(zhǔn)的輸入方式,例如,輸入12,系統(tǒng)會轉(zhuǎn)換為00:00:12、輸入1212,系統(tǒng)會轉(zhuǎn)換為
00:12:12、輸入121212,系統(tǒng)會轉(zhuǎn)換為12:12:12等。
DATETIME類型用YYYY-MM-SS HH:MM:SS形式顯示日期與時間。范圍從1000-01-01 00:00:00~9999-12-31 23:59:59 插入超范圍的值時,系統(tǒng)報錯并插入零值(0000-00-00 00:00:00)。此類型除了可接受YYYY-MM-SS HH:MM:SS格式的輸入外,還可以識別YYYYMMSSHHMMSS形式的輸入值。例如,輸入20170117174856,系統(tǒng)會轉(zhuǎn)換為
2017-01-17 17:48:56。
TIMESTAMP類型情況與DATETIME類型接近,但是它的取值范圍要比DATETIME類型窄很多,范圍從19700101080001~20380119111407(1970-01-01 08:00:01~2038-01-19 11:14:07)。**另外,TIMESTAMP類型還有一個特別之處,那就是它的值的時間部分是根據(jù)時區(qū)來顯示的,例如在東八區(qū)插入的TIMESTAMP類型值2017-01-16 18:04:25,在東七區(qū)的時間部分會顯示17:04:25,而在東九區(qū)則變?yōu)?9:04:25,對于這一點我們要特別留意。**
我們在選擇日期與時間數(shù)據(jù)類型時,請根據(jù)實際需求選擇相應(yīng)的類型,一般應(yīng)選擇剛好夠用最好,這樣可節(jié)省系統(tǒng)資源。例如只需要知道日期的選擇DATE類型、需要同時知道日期與時間的就選擇DATETIME類型、僅僅需要記錄時間的則選擇TIME類型等。
分享名稱:mysql范圍怎么表示 mysql且怎么表示
文章分享:http://chinadenli.net/article48/dodeehp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App開發(fā)、面包屑導(dǎo)航、域名注冊、網(wǎng)頁設(shè)計公司、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)