Mysql中的數據類型

數據類型的選擇函數

爲表中的字段選擇合適的數據類型
  當一個列能夠選擇多種數據類型時,應該優先考慮數字類型,其次是日期或二進制類型,
最後是字符類型。對於相同級別的數據類型,應該優先選擇佔用空間小的數據類型。spa

整數類型3d

  
浮點數類型blog

  
  說明:DECIMAL類型,每4個字節存9個數字,小數點佔1個字節
  例如:DECIMAL(18,9)須要9個字節來存儲。字符串

VARCHAR和CHAR類型
  · varchar用於存儲變長字符串,只佔用必要的存儲空間
  · varchar列的最大長度小於255則只佔用一個額外字節用於記錄字符串長度
  · varchar列的最大長度大於255則要佔用兩個額外字節用於記錄字符串長度
  · char類型是定長的
  · 字符串存儲在char類型的列中會刪除末尾的空格
  · char類型的最大寬度爲255io

日期類型
  DATATIME類型
    以YYYY-MM-DD HH:MM:SS[.fraction]格式存儲日期時間
    atetime = YYYY-MM-DD HH:MM:SS
    datetime(6) = YYYY-MM-DD HH:MM:SS.fraction
    DATATIME類型與時區無關,佔用8個字節的存儲空間
    時間範圍從1000-01-01 00:00:00到9999-12-31 23:59:59
  TIMESTAMP類型
    存儲了由格林尼治時間1970年1月1日到當前時間的秒數
    以YYYY-MM-DD HH:MM:SS[.fraction]格式顯示,佔用4個字節
    時間範圍從1970-01-01到2038-01-19
    TIMESTAMP類型顯示依賴於所指定的時區
    在行的數據修改時能夠自動修改TIMESTAMP列的值
  DATE類型和TIME類型
    存儲用戶生日時,只須要存儲日期部分
  DATE類型的優勢:
    1. 佔用的字節數比使用字符串、datetime、int存儲要少,使用date類型只須要3個字節
    2. 使用DATE類型還能夠利用時間函數進行日期之間的計算
    DATE類型時間範圍從1000-01-01到9999-12-31
    TIME類型用戶存儲時間數據,格式爲HH:MM:SS
  注意事項:
    1. 不要使用字符串類型來存儲日期時間數據
    緣由:
      · 日期時間類型一般比字符串佔用的存儲空間小
      · 日期時間類型在進行查找過濾時能夠利用日期來進行對比
      · 日期時間類型還有着豐富的處理函數,能夠方便的對日期時間類型進行日期計算
    2. 不要使用字符串類型來存儲日期時間數據date

相關文章
相關標籤/搜索