decimal
精度比較高的東西,比如money,我會用decimal類型,不會考慮float,double,因爲他們容易產生誤差,
DECIMAL列的聲明語法是DECIMAL(M,D)。在MySQL 5.1中,參量的取值範圍如下:
· M是數字的最大數(精度)。其範圍爲1~65(在較舊的MySQL版本中,允許的範圍是1~254)。
· D是小數點右側數字的數目(標度)。其範圍是0~30,但不得超過M。
說明:float佔4個字節,double佔8個字節,decimail(M,D)佔M+2個字節。
如DECIMAL(5, 2) 的最大值爲9 9 9 9 . 9 9,因爲有7 個字節可用。
Char,定長字符串
格式:char(L)
L指字符數,小於等於255
不能插入超過長度的字符串
思考:我們插入一箇中文字可以嗎?
可以插入一箇中文字。
MYSQL的char型它定的長度,是字符數,不是字節數!
Varchar,可變長度字符串
格式:varchar(L)
L<65535,具體大小和編碼有關!
L是幾,就可以存幾個字母或者相同數量的漢字。
保存的時候,字符的實際長度+1【<255】或者+2字節【255<L<65535】(用於保存字符的實際長度)
建議:長度大於255時,就用text類型。
Utf8下:
同樣可知,char型長度必須小於255/3-1
Gbk下:
同樣可知,char型長度必須小於255/2-1