MySQL數據類型 - 爲列選擇正確的類型

爲列選擇正確的類型html

爲了得到最佳存儲,應該在全部狀況下都儘可能使用最精確的類型。例如,若是整數列用於1到99999之間的值,則MEDIUMINT UNSIGNED是最佳類型。在表示全部必需值的類型中,此類型使用的存儲量最少。mysql

全部針對DECIMAL列的基本計算(+、-、*、和/)都以65位十進制(以10爲基數)的精度完成。sql

若是精度不過重要,或者若是速度是最重要的,DOUBLE類型可能就足夠了。爲了得到高精度,能夠轉換爲存儲在BIGINT中的定點類型。這使您可以使用64位整數執行全部計算,而後根據須要將結果轉換回浮點值。數據庫

使用來自其餘數據庫引擎的數據類型markdown

爲了方便使用其餘供應商爲SQL實現編寫的代碼,MySQL映射了以下表所示的數據類型。這些映射使得從其餘數據庫系統向MySQL導入表定義變得更加容易。ide

其餘供應商類型 MySQL類型
BOOL TINYINT
BOOLEAN TINYINT
CHARACTER VARYING(M) VARCHAR(M)
FIXED DECIMAL
FLOAT4 FLOAT
FLOAT8 DOUBLE
INT1 TINYINT
INT2 SMALLINT
INT3 MEDIUMINT
INT4 INT
INT8 BIGINT
LONG VARBINARY MEDIUMBLOB
LONG VARCHAR MEDIUMTEXT
LONG MEDIUMTEXT
MIDDLEINT MEDIUMINT
NUMERIC DECIMAL

數據類型映射發生在表建立時,以後原始類型規範將被丟棄。若是使用其餘供應商使用的類型建立一個表,而後發出DESCRIBE tbl_name語句,那麼MySQL將使用等效的MySQL類型報告表結構。例如:htm

官方文檔:
https://dev.mysql.com/doc/refman/8.0/en/choosing-types.html
https://dev.mysql.com/doc/refman/8.0/en/other-vendor-data-types.html文檔

相關文章
相關標籤/搜索