MySQL資料表設計

來源:互聯網
上載者:User

標籤:

1、數值類資料列類型

資料列類型

儲存空間

說明

取值範圍

TINYINT

1位元組

非常小的整數

帶符號值:-128~127

無符號值:0~255

SMALLINT

2位元組

較小的整數

帶符號值:-32768~32767

無符號值:0~65535

MEDIUMINT

3位元組

中等大小的整數

帶符號值:-8388608~8388607

無符號值:0~16777215

INT

4位元組

標準整數

帶符號值:-2147483648~2147483647

無符號值:0~4294967295

BIGINT

8位元組

大整數

帶符號值:-263~263-1

無符號值:0~264-1

FLOAT

4或8位元組

單精確度浮點數

最小非零值:+- 1.175494351E-38

最大非零值:+- 3.402823466E+38

資料列類型

儲存空間

說明

取值範圍

DOUBLE

8位元組

雙精確度浮點數

最小非零值:+- 2.225073E-308

最大非零值:+- 1.797693E+308

DECIMAL

自訂

以字串形式表示的浮點數

取決於儲存單元位元組數

  整型注意事項:

    INT(3)、SMALLINT(3)等整型後面的數字不會影響數值的儲存範圍,只會影響顯示    整型後面的數字只有配合零填充的時候才有實際意義。    整型後面的數字可以省略  浮點型注意事項:    浮點型後面的數字會將存入的數字四捨五入,例如:把一個1.234存入FLOAT(6,1)資料列中,結果是1.2,6代表顯示長度,1代表小數位長度,會四捨五入。2、字串類資料列類型

資料列類型

儲存空間

說明

取值範圍

CHAR[(M)]

M位元組

定長字串

M位元組

VARCHAR[(M)]

L+1位元組

可變字串

M位元組

TINYBLOB,TINYTEXT

L+1位元組

非常小的BLOB(二進位大對象)和文本串

28-1位元組

BLOB,TEXT

L+2位元組

小BLOB和文本串

216-1位元組

MEDIUMBLOB,

MEDIUMTEXT

L+3位元組

中等的BLOB和文本串

224-1位元組

LONGBLOB,

LONGTEXT

L+4位元組

大BLOB和文本串

232-1位元組

ENUM(‘value1’,’value2’…)

1或2位元組

枚舉:可賦予某個枚舉成員

65535個成員

SET(‘value1’,‘value2’…)

1,2,3,4或8位元組

集合:可賦予多個集合成員

64個成員

  字串類型注意事項:    CHAR和VARCHAR類型的長度範圍都在0~255之間    在使用CHAR和VARCHAR類型時,當我們傳入的實際的值的長度大於指定的長度,字串會被截取至指定長度    在使用CHAR類型時,如果我們傳入的值的長度小於指定長度,實際長度會使用空格補至指定長度    在使用VARCHAR類型時,如果我們傳入的值的長度小於指定長度,實際長度即為傳入字串的長度,不會使用空格填補    CHAR要比VARCHAR效率更高,當佔用空間較大    BLOB和TEXT類型是可以存放任意大資料的資料類型    BLOB區分大小寫,TEXT不區分大小寫    ENUM和SET類型是特殊的的串類型,其列值必須從固定的串集中選擇    ENUM只能選擇其中一個值,SET可以選擇多個值3、日期和時間類資料列類型

資料列類型

儲存空間

說明

取值範圍

DATE

3 位元組

“YYYY-MM-DD”格式表示的日期值

1000-01-01~9999-12-31

TIME

3 位元組

“hh:mm:ss”格式表示的時間值

-838:59:59-838:59:59

DATETIME

8 位元組

“YYYY-MM-DD hh:mm:ss”格式

1000-01-01 00:00:00~9999-12-31

TIMESTAMP

4 位元組

“YYYYMMDDhhmmss”格式表示的時間戳記

19700101000000-2037年的某個時刻

YEAR

1 位元組

“YYYY”格式的年份值

1901~2155

  日期類型注意事項:    儲存日期時,我們可以使用整型來進行儲存時間戳記,這樣做便於我們進行日期的計算4、NULL值  NULL值注意事項:    NULL意味著“沒有值”或“未知值”    可以測試某個值是否為NULL    不能對NULL值進行算術計算    對NULL值進行算術運算,其結果還是NULL    0或NULL都意味著假,其餘值都意味著真5、類型轉換

  在MySQL的運算式中,如果某個資料值的類型與上下文所要求的類型不相符,MySQL則會根據將要進行的操作自動地對資料值進行類型轉換。如:

    1+’2’ #會自動轉換成1+2=3

    1+’abc’ #會自動轉換成1+0=1

6、資料欄位屬性  

  UNSIGNED    只能用於設定數實值型別,不允許出現負數    最大儲存長度會增加一倍  ZEROFILL    只能用於設定數實值型別,在數值之前會自動用0補齊不足的位元  AUTO_INCREMENT    用於設定欄位的自動成長屬性,每增加一條記錄,該欄位的值會自動加1  NULL和NOT NULL    預設為NULL,即插入值時沒有在此欄位插入值,預設為NULL值,如果指定了NOT NULL,則必須在插入值時在此欄位填入值  DEFAULT    可以通過此屬性來指定一個預設值,如果沒有在此列添加值,那麼預設添加此值

MySQL資料表設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.