天天看點

MySQL丨文法丨(一)資料類型

同步釋出:Hedon丨MySQL丨文法丨(一)資料類型 (排版更佳!)

整數類型

MySQL丨文法丨(一)資料類型
以下參考:https://blog.csdn.net/weixin_30344795/article/details/95559363

對于 5 種整數類型(tinyint、smallint、mediumint、int、bigint),MySQL 還支援在類型名稱後面的小括号内指定顯示寬度。

::: danger 注意

括号中的數字并不是指該類型占用的位元組數,而是指資料的寬度。

:::

(并不是該類型占用位元組數)。

例如 int(5)表示當數值寬度小于 5 位的時候在數字前面填滿寬度,如果不顯示指定寬度則預設為 int(11)。一般配合

zerofill

使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數字位數不夠的空間用字元“0”填滿。

以下幾個例子分别描述了填充前後的差別:

(1)建立表 t1,有 id1 和 id2 兩個字段,指定其數值寬度分别為 int 和 int(5)。

MySQL丨文法丨(一)資料類型

(2)在 id1 和 id2 中都插入數值 1,可以發現格式沒有異常。

MySQL丨文法丨(一)資料類型

(3)分别修改 id1 和 id2 的字段類型,加入

zerofill

參數:

MySQL丨文法丨(一)資料類型

::: warning 設定了寬度限制後,如果插入大于寬度限制的值,會不會截斷或者插不進去報錯?

不會對插入的資料有任何影響,還是按照類型的實際精度進行儲存。

這個時候,寬度格式實際已經沒有意義 。

實數類型

MySQL丨文法丨(一)資料類型
  • 123456789.987654321 = DECIMAL(18,9)
    • 18 表示總數字個數
    • 9 表示小數點後數字個數
    • 共占用 4+4+1(小數點) = 9 個位元組

時間類型

字元串類型

MySQL丨文法丨(一)資料類型