1. 程式人生 > 實用技巧 >MySQL-常見資料型別介紹

MySQL-常見資料型別介紹

常見資料型別介紹

數值型:

​			整形

​			小數:

​				定點數

​				浮點數

字元型:

​	較短的文字:char、varchar

​	較長的文字:text、blob(較長的二進位制資料)

日期型

一、整形

分類:

tinyint smallint mediumint int/integer bigint
位元組大小 1 2 3 4 8

特點:

  1. 如果不設定無符號還是有符號,預設為有符號,如果設定無符號,需要在型別後新增unsigned關鍵字

  2. 如果插入的數值超出了整形的範圍,會報out of range異常,並插入臨界值

  3. 如果不設定長度,會有預設長度

    長度代表了顯示的最大寬度,如果搭配使用zerofill使用,如果不夠會用0在左邊填充

二、小數

分類:

  1. 浮點型

    float(M,D)

    double(M,D)

  2. 定點型

    dec(M,D)

    decimal(M,D)

特點:

M:整數部分+小數部分位數

D:小數部分位數

M和D都可以省略

如果是decimal,則M預設為10,D預設為0

如果是float和double,則會根據插入的數值精度來決定精度

③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用

原則

所選擇的型別越簡單越好,能儲存的數值的型別越小越好

三、字元型

​ 較短的文字:char、varchar

​ 較長的文字:text、blob(較長的二進位制資料)

​ 其他:

​ binary和varbinary用於儲存較短的二進位制

​ enum用於設定列舉

​ set用於設定集合

特點:

寫法 M的意思 特點 空間的耗費 效率
char char(M) 最大的字元數,可以省略,預設為1 固定長度的字元 比較耗費
varchar varchar(M) 最大的字元數,不可以省略 可變長度的字元 比較節省

四、日期型

分類:

date 只儲存日期

time 只儲存時間

year 只儲存年份

datetime 儲存日期+時間

ttimestamp 儲存日期+時間

特點:

位元組 範圍 時區等的影響
datetime 8 1000-9999 不受
timestamp 4 1970-2038