1、查詢表中所有的字段(列)
語法:select? *??from? 表名;
* 是通配符,用來表示所有的字段(列)。
select?表示查詢哪些列。
from?表示從哪張表中查詢。
2、查詢表中指定的字段
語法:select? 列名1, 列名2, ..., 列名n??from? 表名;
寫的時候列的順序可以與表中列的順序一致,也可以不一致。
3、去重查詢
去重指的是把查詢結果中重復的值去掉,只保留一個值。
語法:select??distinct? 列名??from? 表名;
distinct?不同的,有區別的。
注意事項:
- 對多列去重,是對多列進行組合去重,不是對每一列單獨去重;
- distinct?關鍵字只能寫一個,而且要寫在 要去重的第一個列名的前面。
4、設置別名
select? 列名1??as? 別名1, 列名2??as? 別名2, ..., 列名n??as? 別名n??from? 表名??as? 表的別名;
5、限制查詢結果的條數(分頁查詢)
語法:select? *??from? 表名??limit? 初始位置 ,? 要顯示的數據的條數;
初始位置:表示從哪一條數據開始顯示,包括該位置,初始位置比行號少1。
要顯示的數據的條數:要顯示幾行數據,該值就是幾。
6、對查詢結果進行排序
語法:select? *??from??表名??order? by??列名排序方式;
排序方式有兩種:升序和降序。
升序:從小到大,使用asc來排序,asc是ascend(上升、升高)單詞的縮寫。
降序:從大到小,使用desc來排序,desc是descend(下來,下降)單詞的縮寫。
如果不寫排序方式,默認是升序排序。
7、單條件查詢
單條件指的是where后面跟了一個查詢條件。
語法:select??*??from? 表名??where? 列名? 比較運算符? 值;
比較運算符:
- > 大于
- >= 大于等于
- < 小于
- <= 小于等于
- != 或者 <> 不等于
- = 等于
8、多條件查詢
多條件指的是在where后面跟了多個查詢條件,條件與條件之間要使用邏輯運算符進行連接。
select? *??from? 表名??where? 列名1? 比較運算符? 值1? 邏輯運算符? 列名2? 比較運算符? 值2;
邏輯運算符:
- not?非,取反。 例如:not?num?> 20?等價于 num?<= 20;?
- and?且,表示多個條件都要成立,查詢條件才是成立的;
- or?或者,表示多個條件只要有一個條件成立,查詢條件就是成立的。
9、模糊查詢
語法:select? *??from? 表名??where? 列名??like? 字符串;
在模糊查詢會使用到通配符。
(1)% (百分號通配符):用來匹配任意字符(包括中文、字母、標點符號、數字等)出現的任意次數(包括0次)。
eg:"q%w"?可以匹配:qw、q1w、q我愛中國w、qtw
(2)_ (下劃線通配符):用來匹配任意字符只出現一次,不能多也不能少,只能是一次。
eg:"q_w"?可以匹配:q1w、q中w、qtw;不能匹配:qw、q中國w、q123w、qteetw
10、空值查詢
在MySQL中要使用NULL關鍵字表示值為空。空值不是表示0,也不是表示空字符串。
語法:select? *??from? 表名??where? 列名??is?null;
11、非空值查詢
語法:select? *??from? 表名??where? 列名??is??not? null;
12、范圍查詢
范圍查詢需要使用到between and關鍵字來判斷字段的值是否在兩個值之間。
語法:select? *??from? 表名??where? 列名??between? 起始值??and? 終止值;
注意事項:
- 起始值一定要小于終止值;
- 包含起始值和終止值。
13、in查詢
語法:select? *??from? 表名??where? 列名??in? (值1, 值2, ..., 值n);
將符合括號中值的數據全部查詢出來,即會使用某列的值與括號中的值進行比較。如果相等,就會查詢出來。