MYSQL數據庫操作總結(二)

《使用數據處理函數》
1.去掉串尾空格的函數RTrim() 即串右邊的空白空格 .
例:select RTrim(’'ABC ‘’ ) ; 放回結果爲ABC;
2.Now() 返回當前的日期和時間。
3.文辦處理函數
(1)Upper() 將文本轉換爲大寫。與 Lower() 函數的作用相反。
在這裏插入圖片描述
有結果可以看出,Upper() 函數可將文本轉換爲大寫。
(2)常用的文本處理函數
在這裏插入圖片描述
在這裏插入圖片描述
SOUNDEX需要做進一步的解釋。SOUNDEX是一個將任何文 本串轉換爲描述其語音表示的字母數字模式的算法。SOUNDEX考慮了類似 的發音字符和音節,使得能對串進行發音比較而不是字母比較。雖然 SOUNDEX不是SQL概念,但MySQL(就像多數DBMS一樣)都提供對 SOUNDEX的支持。
下面給出一個使用Soundex()函數的例子。customers表中有一個顧 客Coyote Inc.,其聯繫名爲Y.Lee。但如果這是輸入錯誤,此聯繫名實 際應該是Y.Lie,怎麼辦?顯然,按正確的聯繫名搜索不會返回數據,如下所示:
在這裏插入圖片描述
4.日期和時間處理函數
常用日期處理函數
在這裏插入圖片描述
例:
在這裏插入圖片描述
5.數值處理函數
在這裏插入圖片描述
《彙總數據》
聚集函數

聚集函數(aggregate function) 運行在行組上,計算和返回單 個值的函數。
在這裏插入圖片描述 1.AVG() 函數
AVG()通過對錶中行數計數並計算特定列值之和,求得該列的平均 值。AVG()可用來返回所有列的平均值,也可以用來返回特定列或行的平 均值。
在這裏插入圖片描述
2.count() 函數
COUNT()函數進行計數。可利用COUNT()確定表中行的數目或符合特 定條件的行的數目。 COUNT()函數有兩種使用方式。
使用COUNT(*)對錶中行的數目進行計數,不管表列中包含的是空 值(NULL)還是非空值。 使用COUNT(column)對特定列中具有值的行進行計數,忽略 NULL值。
在這裏插入圖片描述
在這裏插入圖片描述
3.MAX()函數
MAX()返回指定列中的最大值。MAX()要求指定列名,如下所示:
在這裏插入圖片描述
4.MIN()函數
與MAX函數的作用相反,不再詳細敘述。
5.SUM()函數
SUM()用來返回指定列值的和(總計)。
例:
在這裏插入圖片描述
組合聚集函數
目前爲止的所有聚集函數例子都只涉及單個函數。但實際上SELECT 語句可根據需要包含多個聚集函數。請看下面的例子:
在這裏插入圖片描述
在這裏插入圖片描述
《分組數據》
1.創建分組
GROUP BY 子句。
看例子:
在這裏插入圖片描述
2.過濾分組
having 子句。where只能用來過濾行,而having還可以用來過濾分組。
在這裏插入圖片描述
3.排序
ORDER BY 子句。默認是升序排列(ASC)。降序時 需關鍵字DESC指定。
看例子:
在這裏插入圖片描述
回顧以前的知識:
在這裏插入圖片描述
在這裏插入圖片描述

《使用子查詢》
SQL還允許創建子查詢(subquery),即嵌套在其他查詢中的查詢。
舉例說明什麼是子查詢:
1.利用子查詢進行過濾
現在,假如需要列出訂購物品TNT2的所有客戶,應該怎樣檢索?
步驟爲:
(1) 檢索包含物品TNT2的所有訂單的編號。
(2) 檢索具有前一步驟列出的訂單編號的所有客戶的ID。
(3) 檢索前一步驟返回的所有客戶ID的客戶信息。
分開進行檢索:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
完成要求的檢索需要上面的三次操作。而通過子查詢嵌套的形式的查詢語句爲:
在這裏插入圖片描述
2. 作爲計算字段使用子查詢
使用子查詢的另一方法是創建計算字段。假如需要顯示customers 表中每個客戶的訂單總數。訂單與相應的客戶ID存儲在orders表中。 爲了執行這個操作,遵循下面的步驟。
(1) 從customers表中檢索客戶列表。
(2) 對於檢索出的每個客戶,統計其在orders表中的訂單數目。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章