MySQL基礎 常見資料型別及細節

2021-08-20 22:40:16 字數 1260 閱讀 5086

char 與 varchar

char 和 varchar 型別相似,都用來儲存字串,但它們儲存和檢索的方式不同。

char 屬於固定長度的字元型別

varchar屬於可變長度的字元型別

由於char是固定長度的,所以它的處理速度比varchar快得多,但也更浪費儲存空間。

text與blob

(1)blob與text都會引起一些效能問題,尤其是執行大量刪除操作時。

為了提高效能,可以使用 optimize table ; 在執行delete操作之後,整理資料庫的儲存空間。

(2)可以使用合成的(synthetic)索引來提高大文字字段(blob或text)的查詢效能。

簡單說,其實就是另起乙個字段,儲存大文字的hash值,並且為這個hash值新增索引,在查詢大文字的時候,改為查詢hash值的形式。

(3)在不必要的情況,避免查詢大型的text 和 blob值

(4)把blob 或 text 分離到單獨的表中,可以減少單次查詢傳輸的資料量,使查詢更高效。

浮點數與定點數

當乙個浮點數插入值的精確度超過資料庫中定義的精確度時,該插入值會被四捨五入,而且不會報錯,這個在一些對資料要求高的系統中會容易被忽略。

定點數則不同,實際上定點數是以字串形式存放,所以可以更精確地儲存資料。

日期型別的選擇

mysql提供常用的日期型別有

date、time、datetime、timestamp,下面簡單說一下各自的區別

日期和時間型別

位元組最小值

最大值date

41000-01-01

9999-12-31

datetime

81000-01-01 00:00:00

9999-12-31 23:59:59

timestamp

419700101080001

2023年的某乙個時刻

time

3-838:59:59

838::59:59

year

11901

2155

下面再簡單說一下使用原則

(1)根據實際需要選擇能夠滿足引用的最小儲存日期型別。

(2)如果記錄年月日時分秒,並且記錄時間比較長遠,那麼優先用datetime,因為datetime的時間比較長。

(3)如果日期需要不同時區使用,那最好用timestamp。

MYSQL 常見資料型別

一 數值整形型別 型別位元組 最小值最大值 帶符號 無符號 帶符號 無符號 tinyint 1 1位元組 8 bit 128 1270 2 8 256 轉為二進位制,包括0 smallint 2 2 8 bit 32768 32767 02 2 8 65535 mediumiint 3 3 8 bi...

Mysql常見資料型別

資料型別 儲存範圍 位元組tinyint 有符號值 128到127 2 7到2 7 1 1smallint 有符號值 32768到32767 2 15到2 15 1 2mediumint 有符號值 8388608到8388607 2 23到2 23 1 3int 有符號值 2147483648到21...

MySQL常見資料型別

常見資料型別 數值型 整型 小數 定點數浮點數 字元型 較短的文字 char varchar 較長的文字 text blob 較長的二進位制資料 日期型 一 整型 整數型別 位元組 範圍 tinyint 1 smallint 2 mediumint 3 int integer 4 bigint 8 ...