欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql怎么表示整數(shù),mysql 整數(shù)

mysql中常見的數(shù)據(jù)類型

一:MySQL數(shù)據(jù)類型

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了色尼免費(fèi)建站歡迎大家使用!

MySQL中定義數(shù)據(jù)字段的類型對(duì)你數(shù)據(jù)庫(kù)的優(yōu)化是非常重要的

MySQL支持多種數(shù)據(jù)類型,大致可以分為三類:數(shù)值 日期/時(shí)間和字符串

二、數(shù)值類型

 1.整數(shù)類型

2.浮點(diǎn)數(shù)

如果希望保證值比較準(zhǔn)確,推薦使用定點(diǎn)數(shù)數(shù)據(jù)類型。MySql中的浮點(diǎn)類型有float,double和real。他們定義方式為:FLOAT(M,D) 、 REAL(M,D) 、 DOUBLE PRECISION(M,D)。

FLOAT和DOUBLE中的M和D的取值默認(rèn)都為0,即除了最大最小值,不限制位數(shù)。允許的值理論上是-1.7976931348623157E+308~-2.2250738585072014E-308、0和2.2250738585072014E-308~1.7976931348623157E+308。M、D范圍如下:

(MySql5.7實(shí)測(cè),與IEEE標(biāo)準(zhǔn)計(jì)算的實(shí)際是不同的,下面介紹):M取值范圍為0~255。FLOAT只保證6位有效數(shù)字的準(zhǔn)確性,所以FLOAT(M,D)中,M=6時(shí),數(shù)字通常是準(zhǔn)確的。如果M和D都有明確定義,其超出范圍后的處理同decimal。

D取值范圍為0~30,同時(shí)必須=M。double只保證16位有效數(shù)字的準(zhǔn)確性,所以DOUBLE(M,D)中,M=16時(shí),數(shù)字通常是準(zhǔn)確的。如果M和D都有明確定義,其超出范圍后的處理同decimal。

CHAR值時(shí),在它們的右邊填充空格以達(dá)到指定的長(zhǎng)度。當(dāng)檢索到CHAR值時(shí),尾部的空格被刪除掉,所以,我們?cè)诖鎯?chǔ)時(shí)字符串右邊不能有空格,即使有,查詢出來(lái)后也會(huì)被刪除。在存儲(chǔ)或檢索過(guò)程中不進(jìn)行大小寫轉(zhuǎn)換。

三、時(shí)間日期類型(5)

該“0”值如下:

請(qǐng)點(diǎn)擊輸入圖片描述

四、各種類型占用的存儲(chǔ)

1.數(shù)值類型

 

請(qǐng)點(diǎn)擊輸入圖片描述

定點(diǎn)數(shù)的比較特殊,而且與具體版本也有關(guān)系,此處單獨(dú)解釋:

使用二進(jìn)制格式將9個(gè)十進(jìn)制(基于10)數(shù)壓縮為4個(gè)字節(jié)來(lái)表示DECIMAL列值。每個(gè)值的整數(shù)和分?jǐn)?shù)部分的存儲(chǔ)分別確定。每個(gè)9位數(shù)的倍數(shù)需要4個(gè)字節(jié),并且“剩余的”位需要4個(gè)字節(jié)的一部分。下表給出了超出位數(shù)的存儲(chǔ)需求:

請(qǐng)點(diǎn)擊輸入圖片描述

2.時(shí)間日期

請(qǐng)點(diǎn)擊輸入圖片描述

從版本5.6.4開始,存儲(chǔ)需求就有所改變,根據(jù)精度而定。不確定部分需要的存儲(chǔ)如下:

請(qǐng)點(diǎn)擊輸入圖片描述

比如,TIME(0), TIME(2), TIME(4), 和TIME(6) 分別使用3, 4, 5, 6 bytes。 

3.字符串

請(qǐng)點(diǎn)擊輸入圖片描述

4.類型的選擇

為了優(yōu)化存儲(chǔ),在任何情況下均應(yīng)使用最精確的類型。

例如,如果列的值的范圍為從1到99999,若使用整數(shù),則MEDIUMINT UNSIGNED是好的類型。在所有可以表示該列值的類型中,該類型使用的存儲(chǔ)最少。

用精度為65位十進(jìn)制數(shù)(基于10)對(duì)DECIMAL 列進(jìn)行所有基本計(jì)算(+、-、*、/)。

使用雙精度操作對(duì)DECIMAL值進(jìn)行計(jì)算。如果準(zhǔn)確度不是太重要或如果速度為最高優(yōu)先級(jí),DOUBLE類型即足夠了。為了達(dá)到高精度,可以轉(zhuǎn)換到保存在BIGINT中的定點(diǎn)類型。這樣可以用64位整數(shù)進(jìn)行所有計(jì)算,根據(jù)需要將結(jié)果轉(zhuǎn)換回浮點(diǎn)值。

5.使用其他數(shù)據(jù)庫(kù)的SQL語(yǔ)句

為了使用為其它數(shù)據(jù)庫(kù)編寫的SQL執(zhí)行代碼,MySQL按照下表所示對(duì)列類型進(jìn)行映射。通過(guò)這些映射,可以很容易地從其它數(shù)據(jù)庫(kù)引擎將表定義導(dǎo)入到MySQL中:

請(qǐng)點(diǎn)擊輸入圖片描述

MySql數(shù)據(jù)類型有哪些

Mysql支持的多種數(shù)據(jù)類型主要有:數(shù)值數(shù)據(jù)類型、日期/時(shí)間類型、字符串類型。?

1.整數(shù)數(shù)據(jù)類型及其取值范圍:

類型

說(shuō)明

存儲(chǔ)需求(取值范圍)

tinyint ? ?很小整數(shù) ? ?1字節(jié)([0~255]、[-128~127]); 255=2^8-1;127=2^7-1 ?

smallint ? ?小整數(shù) ? ?2字節(jié)(0~65535、-32768~32767) ;65535=2^16-1 ?

mediumint ? ?中等 ? ?3字節(jié)(0~16777215) ;16777215=2^24-1 ?

int(integer) ? ?普通 ? ?4字節(jié)(0~4294967295) ;4294967295=2^32-1 ?

bigint ? ?大整數(shù) ? ?8字節(jié)(0~18446744073709551615);18446744073709551615=2^64-1 ?

浮點(diǎn)數(shù)定點(diǎn)數(shù):

類型名稱

說(shuō)明

存儲(chǔ)需求

float ? ?單精度浮點(diǎn)數(shù) ? ?4字節(jié) ?

double ? ?雙精度浮點(diǎn)數(shù) ? ?8字節(jié) ?

decimal ? ?壓縮的“嚴(yán)格”定點(diǎn)數(shù) ? ?M+2字節(jié) ?

注:定點(diǎn)數(shù)以字符串形式存儲(chǔ),對(duì)精度要求高時(shí)使用decimal較好;盡量避免對(duì)浮點(diǎn)數(shù)進(jìn)行減法和比較運(yùn)算。?

2.時(shí)間/日期類型:?

year范圍:1901~2155;?

time格式:‘HH:MM:SS’(如果省略寫,并且沒有冒號(hào),則默認(rèn)最右起2位為秒,再到分,最后到時(shí));?

插入系統(tǒng)當(dāng)前時(shí)間:insert into 表名 values(current_date()),(now());?

date類型:‘YYYY-MM-DD’;?

datetime(日期+時(shí)間):‘YYYY-MM-DD HH:MM:SS’或‘YYYYMMDDHHMMSS’,取值范圍:‘1000-01-01 00:00:00’~‘9999-12-31 23:59:59’;?

timestamp格式同datetime,但在存儲(chǔ)時(shí)需要4個(gè)字節(jié)(datetime需要8字節(jié)),并且以UTC(世界標(biāo)準(zhǔn)時(shí)間)進(jìn)行存儲(chǔ)(即timestamp會(huì)隨設(shè)置的時(shí)區(qū)而變化,而datetime存儲(chǔ)的絕不會(huì)變化);timestamp的范圍:1970-2037。?

3.字符串類型:?

text類型:tinytext、text、mediumtext、longtext;

類型

范圍

tinytext ? ?255=2^8-1 ?

text ? ?65535=2^16-1 ?

mediumtext ? ?16777215=2^24-1 ?

longtext ? ?4294967295=4GB=2^32-1 ?

char的存儲(chǔ)需求是定義時(shí)指定的固定長(zhǎng)度;varchar的存儲(chǔ)需求是取決于實(shí)際值長(zhǎng)度。?

set類型格式:set(’值1’,’值2’…) ——可以有0或者多個(gè)值,對(duì)于set而言,若插入的值為重復(fù)的,則只娶一個(gè)。插入的值亂序,則自動(dòng)按順序插入排列。插入不正常值,則忽略。?

二進(jìn)制類型:?

bit(M)——保存位字段值(位字段類型),M表示值的位數(shù);?

eg:select BIN(b+0) from 表名;—–b為列名;b+0表示將二進(jìn)制的結(jié)果轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字的值,BIN()函數(shù)將數(shù)字轉(zhuǎn)換為二進(jìn)制。?

blog——-二進(jìn)制大對(duì)象,用來(lái)存儲(chǔ)可變數(shù)量的數(shù)據(jù)。

數(shù)據(jù)類型

存儲(chǔ)范圍(字節(jié))

tinyblog ? ?最多255=2^8-1 字節(jié) ?

bolg ? ?最多65535=2^16-1 字節(jié) ?

mediumblog ? ?最多16777215=2^24-1 字節(jié) ?

longblog ? ?最多4294967295=4GB=2^32-1 字節(jié) ?

mysql int(10)字段說(shuō)明

1、基礎(chǔ)知識(shí)

1.1mysql 數(shù)字類型種類和存儲(chǔ)范圍

MySQL支持SQL標(biāo)準(zhǔn)整數(shù)類型INTEGER(或INT)和SMALLINT。作為標(biāo)準(zhǔn)的擴(kuò)展,MySQL還支持整數(shù)類型TINYINT,MEDIUMINT和BIGINT。下表顯示了每種整數(shù)類型所需的存儲(chǔ)和范圍。

1.2字段長(zhǎng)度說(shuō)明

MySQL 類型關(guān)鍵字后面的括號(hào)內(nèi)指定整數(shù)值的顯示寬度(例如,INT(10))。該可選顯示寬度規(guī)定用于顯示寬度小于指定的列寬度的值時(shí)從左側(cè)填滿寬度。顯示寬度并不限制可以在列內(nèi)保存的值的范圍,也不限制超過(guò)列的指定寬度的值的顯示。

2、字段說(shuō)明

當(dāng)我們存在字段int(3)時(shí),存儲(chǔ)數(shù)據(jù)2440會(huì)保存成功,且會(huì)正常顯示。即 int(3)和 int(10)可以存儲(chǔ)的數(shù)據(jù)大小是相同,限制范圍在int的范圍與數(shù)字無(wú)關(guān)。數(shù)字只是在需要左側(cè)用零填滿時(shí)起作用。

3、tips

1、在我們用int類型作為id的主鍵時(shí),建議選擇Unsigned,這樣存儲(chǔ)的范圍可以增加一倍

2、判斷可能出現(xiàn)的字段長(zhǎng)度 合理選用tinyint smallint mediumint 和 int

網(wǎng)站題目:mysql怎么表示整數(shù),mysql 整數(shù)
當(dāng)前網(wǎng)址:http://chinadenli.net/article12/dsgosgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作微信小程序網(wǎng)站維護(hù)全網(wǎng)營(yíng)銷推廣網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化