mysql存儲中文、decimal

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

wKiom1NmaIbwPb8LAAA7qQM_MsA686.jpg

不能插入超過長度的字符串

wKioL1NmaG-CTI5yAABquP6jYM0970.jpg

思考:我們插入一箇中文字可以嗎?

可以插入一箇中文字。

wKiom1NmaK6ARYppAACT9f9sWxw600.jpg

MYSQLchar型它定的長度,是字符數,不是字節數!


Varchar,可變長度字符串

格式:varchar(L)

L<65535,具體大小和編碼有關!

L是幾,就可以存幾個字母或者相同數量的漢字。

保存的時候,字符的實際長度+1<255】或者+2字節【255<L<65535】(用於保存字符的實際長度)

建議:長度大於255時,就用text類型。

Utf8下:

wKiom1NmaAugThkDAAD2fPx0vPA185.jpg


同樣可知,char型長度必須小於255/3-1


Gbk下:

wKioL1NmZ-Dh_EvDAADsuMcRDbs612.jpg


同樣可知,char型長度必須小於255/2-1





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章