mysql中支持的數據類型有整數類型(tinyint,smallint,mediumint ,int,bigint)浮點數類型(float,double)定點數類型(decimal)位類型(bit)
數值類型中需要注意的細節就是各個類型的取值範圍
tinyint 1個字節(8位) 取值範圍也就是0~255(2的8次方 減一)
smallint 2個字節(16位)取值範圍是0~65536(2的16次方 減一)
mediumint 3個字節(24位)取值範圍是0~1677215(2的24次方 減一)
int 4個字節 (32位)取值範圍是0~(2的32次方 減一)
bigint 8個字節 (64位)取值範圍是0~ (2的64次方減一)
需要注意一點,以上說明的取值範圍都是無符號情況下,如果是有符號,那麼需要有一位代表符號位,所以取值範圍
負2的n次方~2的n-1次方減一 這裏的n就是位數
建表時候會在類型後邊加一個顯示位數 例如int(5) 或者是mediumint(3)
這個數字僅僅只是顯示時候會有點作用,對取值範圍沒有任何印象,如果插入的數據在該類型的取值範圍之內,正常插入,查詢的時候可以查詢出來,如果插入的數據,比顯示數字小,那麼就在前面填滿寬度
然後再說一下
char的長度取值範圍是0~255
varchar的長度取值範圍是0-65535
=========================================
比較運算中需要注意的問題
一般的比較運算操作,如果一個數和null比較,無論是= <> > < <= >=那麼結果都是null
如果想要和null比較,需要使用is null 或者isnot null
還有一個null-safe的比較運算符<=>
========================================
說明mysql中操作符的優先級
首先是賦值
然後是邏輯運算符 或>與>非
然後是between case when then else
接着是比較運算符