天天看點

MySQL 5.7 - 常見資料類型MySQL 5.7 - 常見資料類型

MySQL 5.7 - 常見資料類型

本文關鍵字:MySQL、資料類型、文本類型、數字類型、日期類型

資料類型是資料庫的一個重要組成部分,在MySQL資料庫中可将資料類型分為三大類:Text類型(文本類型)、Number類型(數字類型)、Date類型(日期類型)。

一、Text類型

Text類型為本文類型,也就是我們在程式設計中常說的字元串,同時由于可以進行序列化、反序列化等等的操作,我們甚至于可以直接将檔案轉換後存入資料庫(但通常我們不會這樣做)。

1. CHAR

  • 最大長度:255
  • 内容限制:字母、數字及特殊字母,正确設定編碼後可以存入中文等字元
  • 特點:長度固定,占用空間較大,效率稍高

2. VARCHAR

  • 特點:長度可變,需要同時記錄資料本身和占用的空間大小,可适度節省磁盤空間,效率稍低

3. TINYTEXT

  • 特點:存儲方式上有所不同,不會和行資料存在一起

4. TEXT

  • 最大長度:65,535
  • 其他相似類型
    • MEDIUMTEXT:最大長度為16,777,215
    • LONGTEXT:最大長度為4,294,967,295

5. BLOB

  • 最多存放:65,535位元組
  • 内容限制:Binary Large OBjects(二進制長對象)
    • MEDIUMBLOB:最多存放16,777,215位元組
    • LONGBLOB:最多存放4,294,967,295位元組

6. ENUM

  • 最大個數:65,535
  • 内容限制:字元串類型,存儲的資料隻能是在ENUM中已羅列出的值,或為NULL

7. SET

  • 最大個數:64
  • 内容限制:字元串類型,存儲的資料隻能是在SET中已羅列出的值
  • 特點:可以存儲進多個SET中已聲明的元素,但是不會重複存入相同的元素

二、Number類型

1. TINYINT

  • 資料範圍
    • 正常:-128~127
    • 無符号:0~255
  • 内容限制:整數

2. INT

    • 正常:-2,147,483,648~2,147,483,647
    • 無符号:0~4,294,967,295
  • 相似類型
    • SMALLINT:-32768~32767 (正常),0~65535(無符号)
    • MEDIUMINT:-8,388,608~8,388,607(正常),0~16,777,215(無符号)

3. BIGINT

    • 正常:-9,223,372,036,854,775,808~9,223,372,036,854,775,807
    • 無符号:0~18,446,744,073,709,551,615

4. FLOAT

    • 總位數:0~23
    • 小數位:0~4
  • 内容限制:小數或整數

5. DOUBLE

    • 總位數:0~53
    • 小數位:0~8

6. DECIMAL

    • 總位數:0~65
    • 小數位:0~30

三、Date類型

1. DATE

  • 顯示格式:YYYY-MM-DD
  • 起止範圍:'1000-01-01' 到 '9999-12-31'

2. DATETIME

  • 顯示格式:YYYY-MM-DD hh:mm:ss
  • 起止範圍:'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

3. TIMESTAMP

  • 顯示格式:時間戳(長整形)
  • 起止範圍:'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC

4. TIME

  • 顯示格式:hh:mm:ss 或 hhh:mm:ss
  • 起止範圍:'-838:59:59' 到 '838:59:59'

5. YEAR

  • 顯示格式:YYYY
  • 起止範圍:1901 到 2155,或0000
  • 備注:一般使用0,00,0000代表2000年,在嚴格模式下,0000是一個非法的值

繼續閱讀