程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 深入了解mysql的4種常用、重要的數據類型

深入了解mysql的4種常用、重要的數據類型

編輯:關於MYSQL數據庫

為了實現這一目標,它需要我們在數據庫系統的常用數據類型有充分的認識。

下面我們來看一下mysql的重要數據類型

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

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

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

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

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

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

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

CHAR和VARCHAR的區別是,CHAR是固定長度。如果你定義一個字段CHAR(10),那麼無論多少字節的數據,這將需要10個字節的空間;對於18位的身份證號碼,則應該使用Char(18),

VARCHAR是可變長度的,如果我們有一個字段的值有不同的長度,那麼我們應該使用VARCHAR 。

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

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved