欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入了解mysql的4種常用、重要的數(shù)據(jù)類型

 更新時間:2014年05月06日 09:19:56   作者:  
對于在開發(fā)大型電子商務(wù)網(wǎng)站時,如果碰到有限的硬件和系統(tǒng)環(huán)境情況下,合理的數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計是必不可少的

為了實現(xiàn)這一目標,它需要我們在數(shù)據(jù)庫系統(tǒng)的常用數(shù)據(jù)類型有充分的認識。

下面我們來看一下mysql的重要數(shù)據(jù)類型

1、數(shù)值類型可以劃分為數(shù)值類型:整型,浮點十進制類型。

所謂的“十進制”是指decimal和numeric,他們是同一類型的。嚴格地說,它不是一個數(shù)字類型,因為他們實際上是作為字符串存儲,每一個數(shù)字值(包括小數(shù)點)占一個字節(jié)的存儲空間,所以這種類型的消耗大量的存儲空間,但它的優(yōu)點是它的價值不會失去做浮點數(shù)計算精度,它更適合一些計算精度要求高,如價格計算。浮動取決于不同精度的類型可以是float或double。它們的優(yōu)點是小數(shù)的精度,F(xiàn)LOAT可以表示非常小的值,可以是最小的值約1.17E-38(0.000 … 0117,小數(shù)點后的37零),雙重可以表達更小的數(shù),最小的數(shù)可以約2.22E-308(0.000 … 0222,小數(shù)點以及后跟307個零)的小數(shù)。float和double分別為4字節(jié)和8字節(jié)的存儲空間。

對于整型,在MySQL中有很多不同類型的整數(shù),在設(shè)計數(shù)據(jù)庫表,我們可以有一個字節(jié)TINYINT或8字節(jié)BIGINT等,所以我們應(yīng)該把過多考慮哪個類型來使用,以獲得最小的存儲空間,而不會失去任何準確性值。

TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT 1字節(jié),2字節(jié),3字節(jié),4字節(jié)和8字節(jié)。對于無符號整數(shù),這些類型能表示的最大整數(shù)是分別255,65535,16777215,4294967295 18446744073709551615。如果我們需要保存用戶的年齡,TINYINT就夠了;如果是自增的ID,我們應(yīng)該使用MEDIUMINT而不是INT,INT還 是太大了。很多數(shù)據(jù)表并不會達到MEDIUMINT的范圍

2、日期時間輸入的日期和時間類型比較簡單

如DATE,TIME,DATETIME,TIMESTAMP和YEAR。如果我們只需要關(guān)心的日期,但沒有分秒我們應(yīng)該使用Date,而不是DATETIME,但DATETIME是其中最常用的,一切按實際需要設(shè)計

3、字符類型不要以為字符類型僅僅是CHAR

CHAR和VARCHAR的區(qū)別是,CHAR是固定長度。如果你定義一個字段CHAR(10),那么無論多少字節(jié)的數(shù)據(jù),這將需要10個字節(jié)的空間;對于18位的身份證號碼,則應(yīng)該使用Char(18),

VARCHAR是可變長度的,如果我們有一個字段的值有不同的長度,那么我們應(yīng)該使用VARCHAR 。

4、枚舉和集合類型枚舉(ENUM)類型

最多可以定義到65,535種不同的字符串從中做出選擇。

這可能需要取決于有多少個值在枚舉類型中的一個或兩個字節(jié)。集合(SET)類型,最多可以有64個不同的成員,你可以選擇零個或多個成員,集合成員的數(shù)量決定。例如,在SQLServer中,你可以使用BIT類型來表示性別(男/女),但MySQL中,BIT在不同版本數(shù)據(jù)庫中取值有差異,而使用TINTINT有時浪費的,你可以用ENUM('男','女'),這樣可以節(jié)約很大空間

相關(guān)文章

最新評論