MySQL有如下欄位類型:
VARCHAR
TINYINT
TEXT
DATE
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT
DOUBLE
DECIMAL
DATETIME
TIMESTAMP
TIME
YEAR
CHAR
TINYBLOB
TINYTEXT
BLOB
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
ENUM
SET
BOOL
BINARY
VARBINARY
1.文本類型
char
用法:char(length)
char類型最大長度是255個字元。當插入到表中的字串的長度小於length時候,將給欄位右邊不夠的部分用空格填補。
varchar
用法:varchar(length)
varchar的最大長度是255個字元。varchar和char幾乎一樣,區別在於varchar是變長的類型,不會填補空格。
tinytext
用法:tinytext
tinytext最大長度是255字元。
text
用法:text
text最大長度是65535(2的17次方)字元。
mediumtext
用法:mediumtext
mediumtext最大長度是16777215個字元。
longtext
用法:longtext
longtext最大長度是4294976259個字元。
(tinytext,text,mediumtext,longtext這四種類型,都是可邊長欄位類型,與varchar一樣,只是最大長度不同而已)
enum
用法:enum('value1','value2','value3',....)[default 'value']
使用enum的時候,可以限制插入的值只能是括弧裡包含的值列表中的一個,同時也可以用可選的default 'value'指定預設情況下的值。
set
用法:set('value1','value2','value3',...)[default 'value']
使用set的時候,可以限制插入的值只能是括弧裡包含的值列表中的一個或多個,同時也可以用可選的default 'value'指定預設情況下的值。
2.數字類型
int/integer
用法:int(display size)[unsigned][zerofill]
tinyint
用法:tinyint(display size)[unsigned][zerofill]
mediumint
用法:mediumint(display size)[unsigned][zerofill]
bigint
用法:bigint(display size)[unsigned][zerofill]
float
//用法:float()[zerofill]
用法:float[(m,d)][zerofill]
表示一個小的浮點數(單精確度),不能是無符號數。m表示顯示寬度,d表示精度。
double
用法:double[(m,d)][zerofill]
表示一個雙精確度浮點數,不能是無符號數。m表示顯示寬度,d表示精度。
decimal/numeric
用法:decimal[(m[,d])][zerofill]
decimal列中的數字被儲存為字元,每個數字被儲存為一個字串,每個字元代表值的每一位元。如果d為0則表示沒有小數點。decimal的最大範圍和double一樣,但是實際的範圍是給定的參數m指定的,如果省略m,則m為0。
3.日期和時間類
date
用法:date
date類型以YYYY-MM-DD格式儲存資料。它允許1000-01-01到9999-12-31之間的值。
datetime
用法:datetime[null | not null][default]
datetime類型以YYYY-MM-DD HH:MM:SS格式儲存資料。
timestamp
用法:timestamp(format)
format可以是2到14間的任一數字。
下面是format數位對照列表:
2 YY
4 YYMM
6 YYMMDD
8 YYYYMMDD
10 YYMMDDHHMM
12 YYMMDDHHMMSS
14 YYYYMMDDHHMMSS
time
用法:time
以HH:MM:SS格式儲存時間資料。
year
用法:year[(2 | 4)]
用2位元字格式,允許的日期是1970到2069之間的年份。(79到99的前面加19,01到69的前面加20)
用4為數字格式允許1901到2155之間的值。