1. 程式人生 > >(1.1)mysql 選擇合適的數據類型

(1.1)mysql 選擇合適的數據類型

datetime nal 同時 字段類型 字符 可能 使用 日期 inf

(1.1)mysql 選擇合適的數據類型

1、char與varchar

【1.1】char 在內容未滿定義長度時,做空格填充,且字符串末尾空格會被截斷;超出定義長度也會被截斷。 如:char(4) ‘abcde‘ => ‘abcd‘

【1.2】varchar 在內容未滿定義長度時,內容是多少就占多少,以\0 為系統自動加上的默認結束符。額外多占一個字節。

2、浮點與定點(float/decimal)

【2.1】浮點:當插入數值超過浮點定義時設置的精度時,會四舍五入截斷。

【2.2】定點:當插入數值超過浮點定義時設置的精度時,默認sqlmode下也會會四舍五入截斷(但有警告)。在傳統模式(traditional)下的話,會報錯。

浮點在插入數據時,可能會丟失精度;做算數運算的時候也會有誤差。

  技術分享圖片

3.日期的選擇

【3.1】date  【3.2】time  【3.3】datetime  【3.4】timestamp

  如果只需要記錄年,則用year類型即可;

  選擇原則:

  (1)用最小的字段類型來記錄數據且能保證擴展與可用性;

  (2)如果要記錄年月日時分秒,最好使用datetime類型而不是timestamp,因為timestamp記錄的時間範圍短很多。

  (3)如果記錄的日期需要讓不同時區的用戶使用,最好使用timestamp,因為日期類型中只有它能夠和實際時區想對應。

技術分享圖片

  

(1.1)mysql 選擇合適的數據類型