MySQL 5.7 - 常見數據類型

寫在前面:博主是一只經過實戰開發歷練後投身培訓事業的“小山豬”,暱稱取自動畫片《獅子王》中的“彭彭”,總是以樂觀、積極的心態對待周邊的事物。本人的技術路線從Java全棧工程師一路奔向大數據開發、數據挖掘領域,如今終有小成,願將昔日所獲與大家交流一二,希望對學習路上的你有所助益。同時,博主也想通過此次嘗試打造一個完善的技術圖書館,任何與文章技術點有關的異常、錯誤、注意事項均會在末尾列出,歡迎大家通過各種方式提供素材。

  • 對於文章中出現的任何錯誤請大家批評指出,一定及時修改。
  • 有任何想要討論和學習的問題可聯繫我:[email protected]
  • 發佈文章的風格因專欄而異,均自成體系,不足之處請大家指正。

MySQL 5.7 - 常見數據類型

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


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

一、Text類型

Text類型爲本文類型,也就是我們在編程中常說的字符串,同時由於可以進行序列化、反序列化等等的操作,我們甚至於可以直接將文件轉換後存入數據庫(但通常我們不會這樣做)。

1. CHAR

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

2. VARCHAR

  • 最大長度:255
  • 內容限制:字母、數字及特殊字母,正確設置編碼後可以存入中文等字符
  • 特點:長度可變,需要同時記錄數據本身和佔用的空間大小,可適度節省磁盤空間,效率稍低

3. TINYTEXT

  • 最大長度:255
  • 內容限制:字母、數字及特殊字母,正確設置編碼後可以存入中文等字符
  • 特點:存儲方式上有所不同,不會和行數據存在一起

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類型

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,6088,388,607(常規),016,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類型

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是一個非法的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章