目錄
5.1.1 整數類型
數值型數據類型主要用來存儲數字。
INT(N)中N只是表示顯示的位數,與存儲的數量無關;
5.1.2 浮點數類型和定點數類型
MySQL中使用浮點數和定點數來表示小數。都可以用(M, N)表示,M精度總位數,N小數位標度;
定點數以字符串形式存放,在貨幣,科學計算中用到,默認(10,0)。
5.1.3 日期與時間類型
MySQL中有多種表示日期的數據類型。
5.1.4 文本字符串類型(字符字符串)
字符串類型用來存儲字符串數據,除了可以存儲字符串數據之外,還可以存儲其它數據,比如圖片和聲音的二進制數據。
5.1.5 二進制字符串類型(字節字符串)
前面講解了存儲文本的字符串類型,這一節將講解MySQL中存儲二進制數據的數據類型
5.2 如何選擇數據類型
整數和浮點數:是否要小數
浮點數和定點數:浮點大範圍,定點高精度;
日期與時間類型:大日期DT,當前時間TS;
CHAR與VARCHAR之間的特點與選擇:快固,變小;
ENUM和SET:單E,多S;
BLOB和TEXT:純文本T,圖片音頻B;
5.3.2 算術運算符
算術運算符是SQL中最基本的運算符。
+、 -、 *、 /、 %
5.3.3 比較運算符
一個比較運算符的結果總是1,0或者是NULL。
LIKE
expr like 條件
(1)‘%’,匹配任何數目的字符,包括零字符;
(2)‘_’, 只能匹配一個字符;
REGEXP
expr regexp 條件
(1)‘^’ , 以後面的字符開頭的;
(2) ‘$’ ,以前面的字符結尾的;
(3)’.’ 匹配任何一個單字符;
(4)’[…]’ , 匹配包含在列表裏面的任何字符,可加上‘-’表示連續;
(5)’*’ 匹配任意個它前面的字符,單獨的‘*’表示任何數量的任何字符;
在MySQL中,使用 REGEXP 關鍵字指定正則表達式的字符匹配模式。
正則表達式常用的字符匹配列表 |
|||
選項 |
說明 |
例子 |
匹配值示例 |
^ |
匹配文本的開始字符 |
^b |
book,big,banana |
$ |
匹配文本結束字符 |
st$ |
test,resist |
. |
匹配任何單個字符 |
b.t |
bit,bat,but |
* |
匹配零個或多個在它前面的字符 |
fa*n:匹配字符n前面的0個或多個a字符的字符串 |
fn,fan,faan |
+ |
匹配前面的字符1次或多次 |
ba+:匹配以 b 開頭後面緊跟1個或多個a的字符串 |
ba,bay,bare |
<字符串> |
匹配包含指定的字符串的文本 |
<fa>:匹配包含“fa”的字符串 |
fan,afa.faad |
[字符集合] |
匹配字符集合中的任何一個字符 |
'[xz]':匹配 x 或者 z |
dizzy,zebra |
[^] |
匹配不在括號中的任何字符 |
'[^abc]':匹配任何不包含a、b、c的字符串 |
desk,fox |
字符串{n,} |
匹配前面的字符串至少n次 |
b{2}:匹配有2個或更多的b字符的字符串 |
bbb,bbbb |
字符串{n,m} |
匹配前面的字符串至少n次,至多m次。如果n爲0,次參數爲可選參數 |
b{2,4}:匹配至少有2個,最多有4個b字符的字符串 |
bb,bbb,bbbb |
--------------------- 本表來自 成紀散人 的CSDN 博客 ,全文地址請點擊這裏:
5.3.4 邏輯運算符
邏輯運算符的求值所得結果均爲TRUE、FALSE或NULL。
NOT 或者 ! ! NULL爲NULL;
AND 或者 && 有0則0>有NULL則NULL;
OR 或者 || 有1則1>有null則null;
XOR 有NULL爲NULL>相同0,不同1;
5.3.5 位運算符
位運算符是用來對二進制字節中的位進行測試、移位或者測試處理。
位或(|)
位與(&)
位異或(^ )
位左移(<<)
位右移(<<)
位取反(~)
5.3.6 運算符的優先級
運算的優先級決定了不同的運算符在表達式中計算的先後順序。
級別高的運算符先進行計算,如果級別相同,MySQL按表達式的順序從左到右依次計算。當然,在無法確定優先級的情況下,可以使用圓括號“()”來改變優先級。