MariaDB - 資料型別



良好的欄位定義對於資料庫的最佳化至關重要。理想的方法是隻使用所需型別和大小的欄位。例如,如果只需要一個寬度為五個字元的欄位,則不要定義一個寬度為 20 個字元的欄位。欄位(或列)型別也稱為資料型別,因為它們儲存在欄位中的資料型別。

MariaDB 資料型別可以分為數值型、日期和時間型以及字串型。

數值型資料型別

MariaDB 支援的數值型資料型別如下:

  • TINYINT - 此資料型別表示介於 -128 到 127(有符號)和 0 到 255(無符號)範圍內的較小整數。

  • BOOLEAN - 此資料型別將值 0 與“false”關聯,將值 1 與“true”關聯。

  • SMALLINT - 此資料型別表示介於 -32768 到 32768(有符號)和 0 到 65535(無符號)範圍內的整數。

  • MEDIUMINT - 此資料型別表示介於 -8388608 到 8388607(有符號)和 0 到 16777215(無符號)範圍內的整數。

  • INT(也稱為 INTEGER) - 此資料型別表示普通大小的整數。當標記為無符號時,範圍為 0 到 4294967295。當有符號(預設設定)時,範圍為 -2147483648 到 2147483647。當列設定為 ZEROFILL(無符號狀態)時,其所有值前面都會新增零,以使 INT 值達到 M 位數字。

  • BIGINT - 此資料型別表示介於 -9223372036854775808 到 9223372036854775807(有符號)和 0 到 18446744073709551615(無符號)範圍內的整數。

  • DECIMAL(也稱為 DEC、NUMERIC、FIXED) - 此資料型別表示精確的定點數字,其中 M 指定其位數,D 指定小數點後的位數。M 值不新增“-”或小數點。如果 D 設定為 0,則不顯示小數或分數部分,並且值將在 INSERT 時四捨五入到最接近的 DECIMAL。允許的最大位數為 65,小數的最大位數為 30。省略 M 時預設值為 10,省略 D 時預設值為 0。

  • FLOAT - 此資料型別表示值為 0 或在以下範圍內的較小浮點數:

    • -3.402823466E+38 到 -1.175494351E-38

    • 1.175494351E-38 到 3.402823466E+38

  • DOUBLE(也稱為 REALDOUBLE PRECISION) - 此資料型別表示值為 0 或在以下範圍內的普通大小的浮點數:

    • -1.7976931348623157E+308 到 -2.2250738585072014E-308

    • 2.2250738585072014E-308 到 1.7976931348623157E+308

  • BIT - 此資料型別表示位欄位,其中 M 指定每個值的位數。省略 M 時,預設值為 1。可以使用“b’[value]’”應用位值,其中 value 表示位值(0 和 1)。零填充會自動從左側進行,以達到完整長度;例如,“10”變為“0010”。

日期和時間資料型別

MariaDB 支援的日期和時間資料型別如下:

  • DATE - 此資料型別表示“1000-01-01”到“9999-12-31”的日期範圍,並使用“YYYY-MM-DD”日期格式。

  • TIME - 此資料型別表示“-838:59:59.999999”到“838:59:59.999999”的時間範圍。

  • DATETIME - 此資料型別表示“1000-01-01 00:00:00.000000”到“9999-12-31 23:59:59.999999”的範圍。它使用“YYYY-MM-DD HH:MM:SS”格式。

  • TIMESTAMP - 此資料型別表示“YYYY-MM-DD HH:MM:DD”格式的時間戳。它主要用於詳細說明資料庫修改的時間,例如插入或更新。

  • YEAR - 此資料型別表示 4 位數字格式的年份。四位數字格式允許的值範圍為 1901 到 2155,以及 0000。

字串資料型別

MariaDB 支援的字串型別值如下:

  • 字串字面量 - 此資料型別表示用引號括起來的字元序列。

  • CHAR - 此資料型別表示右填充的固定長度字串,包含指定長度的空格。M 表示字元的列長度,範圍為 0 到 255,其預設值為 1。

  • VARCHAR - 此資料型別表示可變長度字串,M 範圍(最大列長度)為 0 到 65535。

  • BINARY - 此資料型別表示二進位制位元組字串,其中 M 為以位元組為單位的列長度。

  • VARBINARY - 此資料型別表示可變長度的二進位制位元組字串,其中 M 為列長度。

  • TINYBLOB - 此資料型別表示最大長度為 255(28 - 1)位元組的 blob 列。在儲存中,每個都使用一個位元組的長度字首來指示值中的位元組數量。

  • BLOB - 此資料型別表示最大長度為 65,535(216 - 1)位元組的 blob 列。在儲存中,每個都使用一個兩位元組的長度字首來指示值中的位元組數量。

  • MEDIUMBLOB - 此資料型別表示最大長度為 16,777,215(224 - 1)位元組的 blob 列。在儲存中,每個都使用一個三位元組的長度字首來指示值中的位元組數量。

  • LONGBLOB - 此資料型別表示最大長度為 4,294,967,295(232 - 1)位元組的 blob 列。在儲存中,每個都使用一個四位元組的長度字首來指示值中的位元組數量。

  • TINYTEXT - 此資料型別表示最大長度為 255(28 - 1)字元的文字列。在儲存中,每個都使用一個位元組的長度字首來指示值中的位元組數量。

  • TEXT - 此資料型別表示最大長度為 65,535(216 - 1)字元的文字列。在儲存中,每個都使用一個兩位元組的長度字首來指示值中的位元組數量。

  • MEDIUMTEXT - 此資料型別表示最大長度為 16,777,215(224 - 1)字元的文字列。在儲存中,每個都使用一個三位元組的長度字首來指示值中的位元組數量。

  • LONGTEXT - 此資料型別表示最大長度為 4,294,967,295 或 4GB(232 - 1)字元的文字列。在儲存中,每個都使用一個四位元組的長度字首來指示值中的位元組數量。

  • ENUM - 此資料型別表示一個字串物件,它只有一個來自列表的值。

  • SET - 此資料型別表示一個字串物件,它可以有零個或多個來自列表的值,最多 64 個成員。SET 值在內部表示為整數值。

廣告