1.整型(整數(shù)類型)create table t2(id int(5) unsigned zerofill); 注意: ?、賗nt后面的5表示的是顯示寬度(就是你select * from t2;時(shí)看到的數(shù)字最大長度為5),而不是數(shù)據(jù)庫存儲(chǔ)時(shí)的寬度,一般在創(chuàng)建表格時(shí)整形后都不寫數(shù)字就寫int就完事了. ?、趗nsigned表示這個(gè)字段為無符號(hào)整數(shù)對(duì)照下面的表,無符號(hào)與有符號(hào)數(shù)字范圍不同,不寫unsigned就是默認(rèn)有符號(hào)整數(shù). ?、踷erofill就是你顯示時(shí),如果寬度比你規(guī)范的5要短,數(shù)字前面就用0來填充,保證位數(shù)夠5位 ?、墚?dāng)你輸入的值超過該字段范圍時(shí)(有符號(hào)或者無符號(hào)的數(shù)字范圍),他會(huì)以最大值(輸入的值比范圍大)或者最小值(輸入的值比范圍小)來代替你輸入的數(shù)字來存儲(chǔ),并且,此時(shí)你規(guī)定的顯示寬度失效. ?、莓?dāng)你寫int時(shí),此時(shí)是有符號(hào),默認(rèn)顯示寬度是11,即int(11),寫成int unsigned時(shí)是無符號(hào),此時(shí)默認(rèn)顯示寬度是10,根據(jù)下圖對(duì)照有無符號(hào)時(shí)最大數(shù)字長度. ⑥除整形以外所有寬度都是數(shù)據(jù)庫的存儲(chǔ)寬度 ⑦整型包括tinyint,smallint,mediumint,int,inteager,bigint
2.浮點(diǎn)型
注意: ?、俑↑c(diǎn)型包括float,double,decimal
float: create table t2(id float(M,D) unsigned zerofill);
M是浮點(diǎn)數(shù)總寬度(除小數(shù)點(diǎn)以外,數(shù)字總個(gè)數(shù)),M最大值為255 D是小數(shù)點(diǎn)后數(shù)字個(gè)數(shù),D最大值為30 如果D最長了,那么整數(shù)部分最長為225個(gè)數(shù)字
double同float
decimal: M最大為65, D最大為30,
小數(shù)精度:decimal>double(15位小數(shù)左右)>float(7位小數(shù)左右) t8:float t9:double t10:decimal decimal底層是用字符串來存儲(chǔ),所以精度高
3.日期類型year,date,time,datetime,timestamp
datetime與timestamp區(qū)別: ①范圍不同:datetime是1001-9999,timestamp是1970-2038 ?、诖笮〔煌?datetime占8個(gè)字節(jié),timestamp占4個(gè)字節(jié)
4.字符類型: char:定長(固定長度存儲(chǔ))存取速度快,但是占地方,用的較多,現(xiàn)在硬盤大小已經(jīng)不是問題了. varchar:變長(你來多長,我存多長,但是要1byte字節(jié)標(biāo)記后面多長)存取速度慢,但是省地方 注意: ①char(5),寬度5指的是字符的個(gè)數(shù) ?、趕elect char_length(name) from t4 ; 查詢某個(gè)字段中內(nèi)容的長度,但是如果在該字段后面有空格時(shí),他也不會(huì)算到長度里面去,如果你寫的時(shí)候是'任務(wù) '后面的空格在計(jì)算時(shí)不會(huì)算上,如果你想把它長度算上,就輸入: SET sql_mode='PAD_CHAR_TO_FULL_LENGTH';即可 ③當(dāng)你使用where做篩選時(shí),例如where name='任務(wù)',mysql會(huì)自動(dòng)去掉后面的所有空格,再比較,而' 任務(wù)'前面有空格或者'任 務(wù)'中間有空格都不會(huì)被去掉,從而造成篩選查不到. ④如果你輸入select name from t13 where name like '李杰';時(shí),字符串后面的空格數(shù)量一定要和你輸入數(shù)據(jù)庫時(shí)的數(shù)量一致,否則查不到 ?、菰谝粡埍碇?不要把char和varchar混用
5.枚舉類型:enum:多個(gè)選一個(gè) set:多個(gè)選一個(gè)或者多個(gè)
create table consumer(
insert into consumer values |
|