一、查詢操作
1、去重:select後面加distinct
2、查詢多個字段作爲一個字段返回 select後面加concat(‘字段名’,‘字段名’)
3、模糊查詢
1》like
特點:一般和通配符搭配使用
通配符: % 任意多個字符
_任意單個字符
有時需要用到轉義符:
2》between and
包含臨界值
兩個臨界值不要調換順序
3》in
小括號內部不能用通配符
4》is null/ is not null
=號不能判斷是否爲null值,但是is null和is not null可以
5》安全等於 <=>
既可以判斷字符數字型,也可以判斷null
4、查詢排序
asc升序 desc降序
5、常見函數
類似與Java的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名。
分類:
1》、單行函數
字符函數:
length: 獲取參數值的字節個數(utf8下英文佔一個字節,漢字佔三個字節)。
concat: 拼接字符串。
upper轉化爲大寫, lower轉化爲小寫:
substr、substring:截取字符串
注意:MySQL 中字符串索引從1開始
instr:返回字串第一次出現的索引,如果找不到返回0。
trim:去掉某個字符串的前後空格,也可以去掉字符串前後指定值。
lpad和rpad:
replace:替換(把周芷若替換爲趙敏)
數值函數:
日期函數:
查詢相差天數:select datediff(now(),‘1996-1-1’)
流程控制函數:
2》、分組函數
功能:做統計使用,又稱統計函數/聚合函數/組函數
分類:sum求和 avg求平均值 max最大值 min最小值 count計算個數
特點:
1、sum、avg一般用於處理數值類型
max、min、count可以處理任何類型
2、以上分組函數都忽略null值
3、可以和distinct搭配實現去重的運算
4、count
6、分組查詢
特點:
2、group by 子句支持單個字段分組,多個字段分組(用逗號隔開,沒有順序要求),表達式或函數(用的較少)。
3、也可以添加排序(排序放在整個分組查詢的最後)
7、連接查詢
sql96語法:
一》等值鏈接
二》非等值鏈接
三》自鏈接
sql99語法:
內連接:inner
外連接:左外left【outer】、右外right【outer】、全外full【outer】
交叉連接:cross (兩個表笛卡爾積的結果)
8、子查詢
出現在其他語句中的select語句,稱爲子查詢或內查詢,子查詢的是優先於主查詢的。
9、分頁查詢
10、union聯合查詢
當查詢結果來源於多個表,並且表之間沒有直接的鏈接關係,但查詢的信息一致。
二、增刪改
1、插入
方式一支持插入多行和子查詢
2、修改
3、刪除
方式對比: