mysql怎么用 數(shù)據(jù)庫(kù)建表判斷類(lèi)型應(yīng)該用什么數(shù)據(jù)類(lèi)型?
數(shù)據(jù)庫(kù)建表判斷類(lèi)型應(yīng)該用什么數(shù)據(jù)類(lèi)型?以MySQL數(shù)據(jù)庫(kù)為例,應(yīng)該使用tinyint type來(lái)確定類(lèi)型。說(shuō)明:MySQL不支持布爾類(lèi)型。當(dāng)數(shù)據(jù)設(shè)置為布爾類(lèi)型時(shí),數(shù)據(jù)庫(kù)將自動(dòng)轉(zhuǎn)換為tinyint(1)
數(shù)據(jù)庫(kù)建表判斷類(lèi)型應(yīng)該用什么數(shù)據(jù)類(lèi)型?
以MySQL數(shù)據(jù)庫(kù)為例,應(yīng)該使用tinyint type來(lái)確定類(lèi)型。說(shuō)明:MySQL不支持布爾類(lèi)型。當(dāng)數(shù)據(jù)設(shè)置為布爾類(lèi)型時(shí),數(shù)據(jù)庫(kù)將自動(dòng)轉(zhuǎn)換為tinyint(1)數(shù)據(jù)類(lèi)型。實(shí)際上,這是一個(gè)偽裝的布爾值。工具:mysql5.6步驟:1。創(chuàng)建表test(id int,col varchar(10),if True tinyint(1))2。插入數(shù)據(jù):插入測(cè)試值(1,“true”,1)插入測(cè)試值(2,“false”,0)3。插入后的結(jié)果:摘要:默認(rèn)值為1和0,分別對(duì)應(yīng)布爾類(lèi)型的true和false。
boolean類(lèi)型數(shù)據(jù)是常用的類(lèi)型,他有幾個(gè)值分別是什么?
MySQL沒(méi)有布爾類(lèi)型。這也是一個(gè)奇怪的現(xiàn)象。示例:可以成功創(chuàng)建create table XS(id int primary key,BL Boolean)。但是,如果您在創(chuàng)建表之后查看語(yǔ)句,您會(huì)發(fā)現(xiàn)MySQL將其替換為tinyint(1)。也就是說(shuō),MySQL使用Boolean=tinyint。布爾類(lèi)型MySQL在保存布爾值時(shí)使用1表示true,0表示false。MySQL中的Boolean類(lèi)型是tinyint(1)。MySQL中有四個(gè)常量:true、false、true和false,分別表示1、0、1、0
bit(m):表示位字段類(lèi)型。其中m是每個(gè)值的位數(shù),范圍從1到64,默認(rèn)值為1。
Tinyint:屬于數(shù)字類(lèi)型,用于存儲(chǔ)小范圍的數(shù)字,具有正負(fù)概念。基本使用場(chǎng)景是小型字典或枚舉類(lèi)型。
眾所周知,在mysql中,適當(dāng)長(zhǎng)度的字符存儲(chǔ)不僅節(jié)省了數(shù)據(jù)空間,而且減少了索引的存儲(chǔ),更重要的是加速了內(nèi)容的檢索。另外,對(duì)于tinyint,建議盡量使用無(wú)符號(hào)正數(shù),以擴(kuò)大表示范圍。例如,當(dāng)我們表示一個(gè)人的年齡時(shí),我們可以將其設(shè)計(jì)為tinyint,因?yàn)閠inyint unsigned value的范圍表示0-255。
此外,對(duì)于布爾類(lèi)型字段,還不清楚。在Java中,最好使用無(wú)符號(hào)tinyint,其中1表示true,0表示false。在一定范圍內(nèi),也建議使用無(wú)符號(hào)tinyint。雖然在某些業(yè)務(wù)場(chǎng)景中bit可以代替tinyint來(lái)進(jìn)一步節(jié)省空間,但是bit的設(shè)計(jì)是相對(duì)二進(jìn)制的,不屬于數(shù)字類(lèi)型。在我們的業(yè)務(wù)場(chǎng)景中,數(shù)字型一般用于操作、分支判斷等,因此優(yōu)先于非二進(jìn)制型。