MySQL的資料型別

2021-10-02 15:27:50 字數 1126 閱讀 2059

tinyint, smallint, mediumint, int, bigint 分別使用 8, 16, 24, 32, 64 位儲存空間,一般情況下越小的列越好。

int(11) 中的數字只是規定了互動工具顯示字元的個數,對於儲存和計算來說是沒有意義的。

float 和 double 為浮點型別,decimal 為高精度小數型別。cpu 原生支援浮點運算,但是不支援 decimal 型別的計算,因此 decimal 的計算比浮點型別需要更高的代價。

float、double 和 decimal 都可以指定列寬,例如 decimal(18, 9) 表示總共 18 位,取 9 位儲存小數部分,剩下 9 位儲存整數部分。

主要有 char 和 varchar 兩種型別,一種是定長的,一種是變長的。

varchar 這種變長型別能夠節省空間,因為只需要儲存必要的內容。但是在執行 update 時可能會使行變得比原來長,當超出乙個頁所能容納的大小時,就要執行額外的操作。myisam 會將行拆成不同的片段儲存,而 innodb 則需要**頁來使行放進頁內。

在進行儲存和檢索時,會保留 varchar 末尾的空格,而會刪除 char 末尾的空格。

1)datetime

能夠儲存從 1000 年到 9999 年的日期和時間,精度為秒,使用 8 位元組的儲存空間。

它與時區無關。

預設情況下,mysql 以一種可排序的、無歧義的格式顯示 datetime 值,例如「2008-01-16 22:37:08」,這是 ansi 標準定義的日期和時間表示方法。

2)timestamp

和 unix 時間戳相同,儲存從 1970 年 1 月 1 日午夜(格林威治時間)以來的秒數,使用 4 個位元組,只能表示從 1970 年到 2038 年。

它和時區有關,也就是說乙個時間戳在不同的時區所代表的具體時間是不同的。

mysql 提供了 from_unixtime() 函式把 unix 時間戳轉換為日期,並提供了 unix_timestamp() 函式把日期轉換為 unix 時間戳。

預設情況下,如果插入時沒有指定 timestamp 列的值,會將這個值設定為當前時間。

應該盡量使用 timestamp,因為它比 datetime 空間效率更高。

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...