[備忘]MySQL欄位類型

來源:互聯網
上載者:User
MySQL的列類型主要有三種:數字、字串和日期。
數字列類型
  數字列類型用於儲存各種數字資料,如價格、年齡或者數量。數字列類型主要分為兩種:整數型和浮點型。所有的數字列類型都允許有兩個選項:UNSIGNED和ZEROFILL。選擇UNSIGNED的列不允許有負數,選擇了ZEROFILL的列會為數值添加零。下面是MySQL中可用的數字列類型
• TINYINT——一個微小的整數,支援 -128到127(SIGNED),0到255(UNSIGNED),需要1個位元組儲存
• BIT——同TINYINT(1)
• BOOL——同TINYINT(1)
• SMALLINT——一個小整數,支援 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2個位元組儲存 MEDIUMINT——一個中等整數,支援 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3個位元組儲存
• INT——一個整數,支援 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4個位元組儲存
• INTEGER——同INT
• BIGINT——一個大整數,支援 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8個位元組儲存
• FLOAT(precision)——一個浮點數。precision<=24用於單精確度浮點數;precision在25和53之間,用於又精度浮點數。FLOAT(X)與相誚的FLOAT和DOUBLE類型有差相同的範圍,但是沒有定義顯示尺寸和小數位元。在MySQL3.23之前,這不是一個真的浮點值,且總是有兩位小數。MySQL中的所有計算都用雙精確度,所以這會帶來一些意想不到的問題。
• FLOAT——一個小的菜單精確度浮點數。支援 -3.402823466E+38到-1.175494351E-38,0和1.175494351E-38 to 3.402823466E+38,需要4個位元組儲存。如果是UNSIGNED,正數的範圍保持不變,但負數是不允許的。
• DOUBLE——一個雙精確度浮點數。支援 -1.7976931348623157E+308到-2.2250738585072014E-308,0和2.2250738585072014E-308到1.7976931348623157E+308。如果是FLOAT,UNSIGNED不會改變正數範圍,但負數是不允許的。
• DOUBLE PRECISION——同DOUBLE
• REAL——同DOUBLE
• DECIMAL——將一個數像字串那樣儲存,每個字元佔一個位元組
• DEC——同DECIMAL
• NUMERIC——同DECIMAL

字串列類型
  字串列類型用於儲存任何類型的字元資料,如名字、地址或者報紙文章。下面是MySQL中可用的字串列類型
• CHAR——字元。固定長度的字串,在右邊補齊空格,達到指定的長度。支援從0到155個字元。搜尋值時,尾碼的空格將被刪除。
• VARCHAR——可變長的字元。一個可變長度的字串,其中的尾碼空格在儲存值時被刪除。支援從0到255字元
• TINYBLOB——微小的二進位對象。支援255個字元。需要長度+1位元組的儲存。與TINYTEXT一樣,只不過搜尋時是區分大小寫。(0.25KB)
• TINYTEXT——支援255個字元。要求長度+1位元組的儲存。與TINYBLOB一樣,只不過搜尋時會忽略大小寫。(0.25KB)
• BLOB——二進位對象。支援65535個字元。需要長度+2位元組的儲存。 (64KB)
• TEXT——支援65535個字元。要求長度+2位元組的儲存。 (64KB)
• MEDIUMBLOB——中等大小的二進位對象。支援16777215個字元。需要長度+3位元組的儲存。 (16M)
• MEDIUMTEXT——支援16777215個字元。需要長度+3位元組的儲存。 (16M)
• LONGBLOB——大的的二進位對象。支援4294967295個字元。需要長度+4位元組的儲存。 (4G)
• LONGTEXT——支援4294967295個字元。需要長度+4位元組的儲存。(4G)
• ENUM——枚舉。只能有一個指定的值,即NULL或"",最大有65535個值
• SET——一個集合。可以有0到64個值,均來自於指定清單

日期和時間列類型
  日期和時間列類型用於處理時間資料,可以儲存當日的時間或出生日期這樣的資料。格式的規定:Y表示年、M(前M)表示月、D表示日、H表示小時、M(後M)表示分鐘、S表示秒。下面是MySQL中可用的日期和時間列類型
• DATETIME——格式:'YYYY-MM-DD HH:MM:SS',範圍:'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
• DATE——格式:'YYYY-MM-DD',範圍:'1000-01-01'到'9999-12-31'
• TIMESTAMP——格式:'YYYYMMDDHHMMSS'、'YYMMDDHHMMSS'、'YYYYMMDD'、'YYMMDD',範圍:'1970-01-01 00:00:00'到'2037-01-01 00:00:00'
• TIME——格式:'HH:MM:SS'
• YEAR——格式:'YYYY,範圍:'1901'到'2155'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.