類型
存儲空間(位元組)
最小值(有符号)
最小值(無符号)
最大值(有符号)
最大值(無符号)
TINYINT
1
-128
127
255
SMALLINT
2
-32768
32767
65535
MEDIUMINT
3
-8388608
8388607
16777215
INT
4
-2147483648
2147483647
4294967295
BIGINT
8
-2的63次幂
2的63次幂-1
2的64次幂-1
bit類型存儲二進制的值,bit(M)可以存儲M個二進制的值,M的範圍1-64。
可以使用b'value'這種文法存值,value是 0或者1,例如 <code>b'111'</code> and <code>b'10000000' 分别代表7和128。</code>
如果長度不夠則左側以0填充,例如 bit(6), 值為b‘101’,則實際為000101。
SELECT bin(Money_), oct(Money_) FROM db_test;

DATE,DATETIME,TIMESTAMP
date日期類型 ,格式YYYY-MM-DD, 存儲範圍<code>'1000-01-01'</code> to <code>'9999-12-31'。</code>
datetime時間類型,格式YYYY-MM-DD HH:MM:SS,存儲範圍 <code>'1000-01-01 00:00:00'</code> to <code>'9999-12-31 23:59:59'。</code>
timestamp時間類型,格式,YYYY-MM-DD HH:MM:SS,存儲範圍 <code>'1970-01-01 00:00:01'</code> UTC to <code>'2038-01-19 03:14:07'</code> UTC。
timestamp再存取值時,會把時間轉換為UTC世界标準時間進行存取,比如mysql伺服器是GTM+8的時區,那麼存到mysql中會把目前時間減掉8小時,讀取的時候在把時間加上8小時,就是你要的值。但是如果你存儲和讀取時時區不一緻,就會導緻時間不準确。
TIME
MySQL以'HH:MM:SS'格式(或大小時值的'HHH:MM:SS'格式)檢索并顯示TIME值。 TIME值的範圍可以從'-838:59:59'到'838:59:59'。 小時部分可能非常大,因為TIME類型不僅可以用來表示一天中的時間(必須小于24小時),還可以用于表示兩個事件之間的經過時間或時間間隔(可能遠大于 24小時,甚至是負面的)。
YEAR
占用一個位元組,8位。 範圍是<code>1901</code> to <code>2155, 底層存儲的是與2155-1901=254,一個位元組可以存儲,底層存儲的是與1901的內插補點。</code>