MySQL資料型別

2021-09-09 01:30:00 字數 2526 閱讀 7417

在mysql資料庫中,每一條資料都有其資料型別。mysql支援的資料型別,主要分成3類:數字型別、字串(字元)型別、日期和時間型別。

整數資料型別:

資料型別

說明tinyint

最小的整數

bit最小的整數

bool

最小的整數

smallint

小型整型

mediumint

中型整型

int標準整型

bigint

大型整型

浮點資料型別:

資料型別

說明float

單精度浮點數

double

雙精度浮點數

decimal

一般精度浮點數

在建立表時,使用哪種數字型別,應遵循以下原則。

(1)選擇最小的可用型別,如果值永遠不超過127,則使用tinyint比int強。

(2)對於完全都是數字的,可以選擇整數型別。

(3)浮點型別用於可能具有小數部分的數,如貨物單價、網上購物交付金額等。

字串型別可以分為3類:普通的文字字串型別(char和varchar)、可變型別(text和blob)和特殊型別(set和enum)。它們之間都有一定的區別,取值的範圍不同,應用的地方也不同。

(1)普通的文字字串型別,即char和varchar型別,char列的長度被固定為建立表所宣告的長度,取值在1~255之間;varchar列的值是變長的字串,取值和char一樣。

資料型別

說明[national]

char(m)

[binary|ascii|unicode]

固定長度為m的字串,其中m的取值範圍為0~255。national關鍵字指定了應該使用的預設字符集。binary關鍵字指定了資料是否區分大小寫(預設是區分大小寫的)。ascii關鍵字指定了在改列中使用latin1字符集。unicode關鍵字指定了使用ucs字符集

[national]

varchar(m)

[binary]

長度可變,其他和char(m)類似

(2)可變型別(text和blob)。它們的大小可以變化,text型別適合儲存長文字,而blob型別適合儲存二進位制資料,支援任何資料,如文字、聲音和影象等。

資料型別

說明tinyblob

小blob欄位

tinytext

小text欄位

blob

常規blob欄位

text

常規text欄位

mediumblob

中型blob欄位

mediumtext

中型text欄位

longblob

長blob欄位

longtext

長text欄位

(3)特殊型別(set和enum)。

資料型別

說明enum(value1,value2,...)

該型別的列只可以容納所列值之一或為null

set(value1,value2,...)

該型別的列可以容納一組值或為null

建立表時,使用字串型別時應遵循以下原則。

(1)從速度方面考慮,要選擇固定長度的列,可以使用char型別。

(2)要節省空間,使用動態的列,可以使用varchar型別。

(3)要將列中的內容限制在一種選擇,可以使用enum型別。

(4)允許在乙個列中有多於乙個的條目,可以使用set型別。

(5)如果要搜尋的內容不區分大小寫,可以使用text型別。

(6)如果要搜尋的內容要區分大小寫,可以使用blob型別。

日期和時間型別包括:datetime、date、timestamp、time和year。其中的每種型別都有其取值的範圍,如賦予它乙個不合法的值,將會被「0」代替。

資料型別

說明date

日期,格式yyyy-mm-dd

time

時間,格式hh:mm:ss

datetime

日期和時間,格式yyyy-mm-dd hh:mm:ss

timestamp

時間標籤,在處理報告時使用顯示格式取決於m的值,格式yyyy-mm-dd hh:mm:ss

year

年份可指定兩位數字和四位數字的格式

datetime與timestamp有什麼不同?

相同點:timestamp列的顯示格式與datetime列相同。顯示寬度固定在19字元,並且格式為yyyy-mm-dd hh:mm:ss。

不同點:

timestamp:4個位元組儲存,時間範圍:1970-01-01 08:00:01 ~ 2038-01-19 11:14:07

值以utc格式儲存,涉及時區轉化 ,儲存時對當前的時區進行轉換,檢索時再轉換回當前的時區。

datetime:8個位元組儲存,時間範圍:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

實際格式儲存,與時區無關。

儲存時間(精確到秒)建議使用timestamp型別,因為timestamp使用4位元組,datetime使用8個位元組。

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...