選擇所有資料:
select * from table_name;
mysql中的運算子基本和c/c++等程式語言相同。
部分不同的有:
不等於<>(也可以使用!=)
邏輯與and(也可以使用&&)
邏輯或or(也可以使用||)
邏輯非not(也可以使用!)
可以使用括號改變計算的優先順序。
例如對於如下表單:
+----+-----------------+--------+-------+
| id | title | author | pages |
+----+-----------------+--------+-------+
| 1 | the green mile | 4 | 894 |
| 2 | guards, guards! | 2 | 302 |
| 3 | imazdi | 3 | 354 |
| 4 | gold | 1 | 405 |
| 5 | howling mad | 3 | 294 |
+----+-----------------+--------+-------+
選擇id在2-4之間的書本名:
select title from book where id <= 4 && id >=2;
結果為:
+-----------------+
| title |
+-----------------+
| guards, guards! |
| imazdi |
| gold |
+-----------------+
使用括號,刪選出id小於等於2或者author等於3的:
select title from book where !(id > 2 && id != 3);
null:
mysql中null和程式語言中的null不同,它是一種特殊的型別,不能用作比較,例如:
where author = null;這個斷言語句返回的既不是true也不是false,即便author中有
null的選項。如果需要判斷某乙個欄位為null或者not null應該使用is操作符:
select title from book where author is not null;
這個語句選取book中所有author非null的title項。
插入一行author為空的行:
insert into book(id,title,pages)
values(null,'freedom',230);
現在表單變成了:
+----+-----------------+--------+-------+
| id | title | author | pages |
+----+-----------------+--------+-------+
| 1 | the green mile | 4 | 894 |
| 2 | guards, guards! | 2 | 302 |
| 3 | imazdi | 3 | 354 |
| 4 | gold | 1 | 405 |
| 5 | howling mad | 3 | 294 |
| 6 | freedom | null | 230 |
+----+-----------------+--------+-------+
選擇author為空的書名和頁數:
select title,pages from book where author is null;
這樣就把剛剛插入的author為null的行給選取出來了:
+---------+-------+
| title | pages |
+---------+-------+
| freedom | 230 |
+---------+-------+
mysql提供了"<=>"操作符判斷兩邊的運算元是不是都是null,如果只有一邊是null則返回0,否則返回1,例如
select 1 <=> null, null <=> null, 1 <=> 1;
結果為(為啥1 <=> 1?):
+------------+---------------+---------+
| 1 <=> null | null <=> null | 1 <=> 1 |
+------------+---------------+---------+
| 0 | 1 | 1 |
+------------+---------------+---------+
成員測試:
查詢乙個值是否是集合中的乙個成員,使用關鍵字in:
select title from book where author in (1,3);
上面的語句查詢作者在集合(1,3)中的書名:
+-------------+
| title |
+-------------+
| imazdi |
| gold |
| howling mad |
+-------------+
查詢乙個值是否在一定的範圍內,使用關鍵字between(也可以用比較操作符來完成):
select title from book where id between 2 and 4;
上面的語句查詢id在2-4之間的書名。
萬用字元%和關鍵字like:
可以使用like和萬用字元%搜尋含有一定字串的內容,萬用字元%用來替代任意長度的字元,包括0個,
可以對like前加not操作,即選取通配字串外的內容。
select title from book where title like 'g%';
該語句查詢開始字母為g的書名:
+-----------------+
| title |
+-----------------+
| guards, guards! |
| gold |
+-----------------+
字元'_','.'則只能匹配單個字元,例如stac..匹配包含"stac"且後面跟兩個任意字元的字串。
'':匹配括號內的任何字元,例如[ss]tacey匹配"stacey"或"stacey"的值,[a-za-z]匹配'a'-'z',
'a'-'z'的任意羅馬字元。
'^':匹配的字元必須以跟在'^'後的字元開頭,例如與^stacey匹配的字元必須以stacey開頭;
'$':匹配的字元必須以在'$'的字元結尾,例如與chese$匹配的字元必須以chese結尾。
'*':匹配其前面的任意個字元
擴充套件比較關鍵字regexp則在字串比較中搜尋任意位置的匹配字元,而不是開頭。
select title from book where title regexp 'ee';
結果為:
+----------------+
| title |
+----------------+
| the green mile |
| freedom |
+----------------+
如果使用like的話將得到空的結果。
Day3 學習分享 運算子
1.算術運算子 現階段 加 減 乘 除 小括號 取餘 賦值號 注意 先乘除後加減 從左到右運算 除數不能為0 先運算小括號 小括號裡的內容對小括號外而言是乙個整體乙個常量 補充 變數必須被賦值以後才能修改內容,如果未賦值,則不能修改 偷懶專用運算子 num1 num1 num2 num1 num2 ...
C 學習day3之運算子過載
includeusing namespace std if 0 struct complex 複數 complex operator complex a,complex b int main bb 那我們complex cc aa bb 可不可以?但是是不可以的。你什麼時候學過結構體有加減法。但是這...
Oracle資料庫學習整理day3
substr 列名,n 從指定的位置開始擷取字串直到字元的末尾 substr 列名,n,m 從指定的位置開始擷取指定長度的字串 substr 列名,n 從倒數第n位開始擷取字串,直到字串的末尾 substr 列名,n,m 從倒數第n位開始擷取指定長度的字串 instr 在第乙個引數中查詢第二個引數首...