MySQL字段類型

1 字段類型

字段類型分別爲:數值類型、字符串類型、日期時間類型。ci

1.1 數值類型

數值類型分爲整數類型和小數類型。整數類型爲tinyint、smallint、mediumint、int、bigint。小數類型分爲浮點型和定點型,有float、double、decimal。字符串

1.1.1 tinyint

迷你整形,系統採用1個字節來保存。最大能表示的值爲0-255(2^8 - 1)效率

1.1.2 smallint

小整形,系統採用2個字節來保存。最大能表示的值爲0-65535(2^16 – 1)。date

1.1.3 mediumint

中整形,系統採用3個字節來保存。最大能表示的值爲2^24 – 1。數據類型

1.1.4 int

整形,系統採用4個字節來保存。最大能表示的值爲2^32 – 1。語法

1.1.5 bigint

大整形,系統採用8個字節來保存。最大能表示的值爲2^64 – 1。二進制

1.1.6 float

float又稱之爲單精度類型,系統採用4個字節來保存。可是能表達的範圍要比整形大的多,大概是10^38。單精度浮點,精確到大約爲7位。float

1.1.7 double

double又稱之爲雙精度類型,系統採用8個字節來保存。表示的範圍更大,大概是10^308。精度爲大約15位。im

1.1.8 decimal

decimal又稱之爲定點數,系統自動根據存儲的數據來分配存儲空間。大概9個數就會分配4個字節來存儲,同時小數位和整數位是分開保存的。時間戳

decimal(M, D):M表示總長度,最大值不能超過65,D表明小數部分長度,最長不能超過30。

1.2 字符串類型

1.2.1 char

定長字符,指定長度以後,系統會分配指定的空間用於存儲數據。

基本語法:char(L),L表明字符數(英文和中文同樣),L爲0-255。

1.2.2 varchar

變長字符,指定長度後,系統根據實際存儲的數據來計算長度,分配合適的長度(數據沒有超出長度)。

基本語法:varchar(L),L表明字符數,L的理論長度爲0-65535。

由於varchar要記錄數據長度,因此每一個varchar數據產生後,系統都會在數據後面增長1-2個字節的額外開銷,是用來保存數據所佔用的空間長度。

 

char和varchar的區別:

char必定會使用指定的空間,而varchar是根據數據來定空間。

char的數據查詢效率比varchar高。varchar是須要經過後面的記錄數來計算的。

1.2.3 text

普通的字符文本。

在選擇字符存儲的時候,若是數據超過255個字符,那麼必定選擇text存儲。

在選擇對應的存儲文本的時候,不用刻意去選擇text類型,系統會自動根據存儲的數據長度來選擇合適的文本類型。

1.2.4 enum

枚舉類型。

語法:enum(數據值1,數據值2…)

空間:若是數據值列表在255個之內,那麼一個字節就夠,若是超過255可是小於65535,那麼系統採用兩個字節保存。

1.2.5 set

集合:是一種將多個數據選項能夠同時保存的數據類型,本質是將指定的項按照對應的二進制位來進行控制:1表示該選項被選中,0表示該選項沒有被選中。

語法:set(‘值1’,’值2’,’值3’…)

系統爲set提供了多個字節進行保存,可是系統會自動計算來選擇具體的存儲單元

1個字節:set只能有8個選項

2個字節:set只能有16個選項

3個字節:set只能表示24個選項

8個字節:set能夠表示64個選項

Set和enum同樣,最終存儲到數據字段中的依然是數字而不是真實的字符串

1.3 日期時間類型

1.3.1 date

日期類型,系統採用3個字節來保存,對應的格式爲YYYY-mm-dd,能表示的範圍是1000-01-01到9999-12-12。初始值爲0000-00-00

1.3.2 time

時間類型,可以表示某個指定的時間,系統採用3個字節來保存。對應的格式爲HH:ii:ss,可是MysQL中time能表示的範圍要大的多,能表示-838:59:59-838:59:59。用處是描述時間段。

1.3.3 datetime

日期時間類型,就是將前面的date和time合併起來,表示的時間,使用8個字節來保存。

格式爲:YYYY-mm-dd HH:ii:ss,能表示的區間爲1000-01-01 00:00:00到9999-12-12 23:59:59,其值能夠爲0值:0000-00-00 00:00:00

1.3.4 timestamp

時間戳類型,表示從格林威治時間開始。

格式爲:YYYY-mm-dd HH:ii:ss。其值表示的區間爲:1970-01-01 00:00:00 到 2038-01-19 03:14:07

1.3.5 year

年類型,採用1個字節來保存。能表示1900-2155。

相關文章
相關標籤/搜索