1. 程式人生 > >MySQL筆記:數據類型

MySQL筆記:數據類型

其中 char log 顯示 oat div 系統時間 post text

一、整數

標準SQL中支持INTEGER和SMALLINT,MySQL擴展了TINYINT、MEDIUMINT和BIGINT。

MySQL支持指定數據類型的顯示寬度,例如INT(8)指定INT類型的顯示寬度為8。

MySQL支持SQL標準中的BOOL和BOOLEAN,但會轉換成TINYINT(1)。

二、浮點數和定點數

MySQL使用浮點數FLOAT、DOUBLE和定點數DECIMAL來表示小數。

MySQL支持指定浮點數和定點數的精度和標度,精度指數據的總長度,標度指小數點後的長度。例如DECIMAL(M,D)指定精度為M,標度為D。

DECIMAL的存儲空間是根據其精度決定的,若未指定則默認為10位整數。

三、日期和時間

YEAR、DATE、TIME、DATETIME和TIMESTAMP表示日期和時間。

除TIMESTAMP外使用CURRENT_TIME或NOW()獲取當前系統時間,TIMESTAMP則使用CURRENT_TIMESTAMP、NULL或不指定值來獲取當前系統時間。

四、字符串

CHAR和VARCHAR類型均在創建時指定最大長度,例如CHAR(32)指定了該字符串的最大長度為32。VARCHAR可在最大長度內動態分配空間。

TEXT只能保存字符數據,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。

ENUM和SET是預定義的字符串列表,其中ENUM列表中的字符串會按聲明順序編號。ENUM只能從列表中選擇單值,SET可選擇多值。

五、二進制

BINARY和BARBINARY類型均在創建時指定最大長度,例如BINARY(32)指定了該二進制數的最大長度為32。VARBINARY可在最大長度內動態分配空間。

BIT類型也在創建時指定最大長度,但不同的是BIT支持的最大長度為64。

BLOB、TINYBLOB、MEDIUMBLOB和LONGBLOB類型用於保存數據量很大的二進制數據,例如圖片等。

MySQL筆記:數據類型