MySQL創(chuàng)建表時需要指定每個字段的數(shù)據(jù)類型,包括整數(shù)類型、小數(shù)類型、日期和時間類型、字符串類型等。以下是MySQL支持的數(shù)據(jù)類型:
整數(shù)類型: TINYINT (-128 ~ 127) 縮寫 T SMALLINT (-32768 ~ 32767) 縮寫 S MEDIUMINT (-8388608 ~ 8388607) 縮寫 M INT/INTEGER (-2147483648 ~ 2147483647) 縮寫 I BIGINT (-9223372036854775808 ~ 9223372036854775807) 縮寫 B 小數(shù)類型: FLOAT 單精度浮點型 縮寫 F DOUBLE 雙精度浮點型 縮寫 D DECIMAL(M,D) 用于存儲精度很高的小數(shù) 日期和時間類型: DATE 日期類型,格式:YYYY-MM-DD TIME 時間類型,格式:HH:MM:SS DATETIME 日期和時間類型,格式:YYYY-MM-DD HH:MM:SS TIMESTAMP 時間戳類型,與時區(qū)有關(guān),通常不用 字符串類型: CHAR(N) 定長字符串,不足補空格 VARCHAR(N) 變長字符串,節(jié)省空間 TINYTEXT 存儲不超過255個字符的短文本 TEXT 存儲不超過65535個字符的長文本 MEDIUMTEXT 存儲不超過2的24次方-1個字符的長文本 LONGTEXT 存儲不超過2的32次方-1個字符的長文本
對于整數(shù)類型,可以根據(jù)實際需要選擇對應(yīng)的類型。當數(shù)據(jù)范圍比較小時,可以使用TINYINT或者SMALLINT類型,當數(shù)據(jù)范圍比較大時,可以使用BIGINT類型。
小數(shù)類型有兩個精度:單精度和雙精度,可以根據(jù)實際需要選擇對應(yīng)的類型。當需要精確到小數(shù)點后幾位時,可以使用DECIMAL類型。
日期和時間類型可以存儲時間相關(guān)的數(shù)據(jù),比如存儲創(chuàng)建時間、更新時間等。其中,TIMESTAMP類型一般不建議使用,因為它與時區(qū)有關(guān),會導(dǎo)致時間不準確。
字符串類型包括定長和變長兩種類型。當字段值長度固定時,使用CHAR類型可以提高查詢效率。當字段值長度不確定時,使用VARCHAR類型可以節(jié)省空間。