Datawhale MySQL 训练营 Task2 查询语句
目錄
- MySQL 管理
- MySQL 用戶管理 參考
- 數據庫管理
- SQ查詢語句
- 1. 導入示例數據庫,教程 MySQL導入示例數據庫
- 2. 查詢語句 SELECT
- 3. 篩選語句 WHERE ,過濾
- 4. 分組語句 GROUP BY
- 5. 排序語句 ORDER BY
- 6. 函數
- 作業
- 總結
MySQL 管理
MySQL版本 8.0.15
MySQL 用戶管理 參考
# root 用戶登錄 mysql -u root -p;# 添加用戶 use mysql; create user test@localhost identified by 'test123';# 授予用戶全部權限GRANT ALL on *.* to 'test'@'localhost' WITH GRANT OPTION;數據庫管理
- 創建數據庫
- 切換數據庫
- 刪除數據庫
SQ查詢語句
注:SQL 不區分大小寫,建議關鍵詞大寫增加可讀性;SQL 是 0-base 的語句
1. 導入示例數據庫,教程 MySQL導入示例數據庫
參考 https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html
2. 查詢語句 SELECT
- 從表 tablex 中查詢某一列或者某幾列:
注: SELECT * FROM tabel 可以查詢所有列, * 為通配符
- 去重語句 DISTINCT
DISTINCT 列名 只返回 vend_id 這一列不同的值
- 前N個語句, LIMIT
在 MySQL 中返回前 N 行
從第M行開始的N行數據, LIMIT N offset M
MySQL 和 MariaDB 支持簡化版本的 LIMIT M,N 語句,逗號前面對應 OFFSET, 逗號后面對應 LIMIT
- CASE...END判斷語句
3. 篩選語句 WHERE ,過濾
SELECT prod_name, prod_price FROM Products WHERE prod_price = 3.49;- 語句解釋: 篩選出 prod_price = 3.49 的prod_name
- 運算符
BETWEEN 需要AND 連接上下限;
空值檢查: IS NULL 語句
- 操作符
邏輯操作符: AND 連接兩個條件 / OR連接兩個條件; AND OR 一起用的時候 AND優先級更高,應該用()對操作符分組,()優先級更高
IN 操作符: 指定條件范圍,() 內的被篩選出來,與 OR 有同樣的作用
NOT 操作符: 否定后面的條件
- 通配符 用來匹配值的一部分的特殊字符; 可以和字面值組合成搜索模式
LIKE 謂詞
% 通配符:表示任何字符出現任何次數
_ 通配符: 匹配單個字符
[] 通配符: 指定字符集匹配一個字符
4. 分組語句 GROUP BY
- GROUP BY 語句根據一個或多個列對結果集進行分組
- 聚集函數:匯總表中的數據的函數:平均、最大、最小、計數、求和
示例: 統計 prod_price 的平均值保存為 avg_price
SELECT COUNT(*) AS num_items, MIN(prod_price) AS price_min, MAX(prod_price) AS price_max, AVG(prod_price) AS price_avg FROM Products;- HAVING子句,類似 WHERE,但是WHERE過濾行但是 HAVING 過濾分組,HAVING 支持所有的WHERE的操作符,還支持聚集操作
5. 排序語句 ORDER BY
- 語句解釋: 根據 BY 對取出的列進行排序
ORDER BY 后面可以是非檢索的列,可以是其他列; ORDER BY 應該保證是 SELECT 語句中的最后一條子句(也必須放在 ); 使用選擇的列(這里的 prod_id, prod_price, prod_name)排序可以用它們的順序進行排列如 ORDER BY 2,3
- 正序、逆序
默認正序,可以使用ASC關鍵字,一般用不上
逆序使用 DESC 關鍵字;直接位于 DESC 前面的那一列將會按照逆序列排列
6. 函數
時間函數: 跟具體的DBMS 有關 SQL 數值函數  SQL字符串函數  另外 MySQL 還提供了豐富的函數,[查表](http://www.runoob.com/mysql/mysql-functions.html)作業
根據以上輸入,你的查詢應返回以下結果:
結果:
創建如下 World 表
如果一個國家的面積超過300萬平方公里,或者(人口超過2500萬并且gdp超過2000萬),那么這個國家就是大國家。
編寫一個SQL查詢,輸出表中所有大國家的名稱、人口和面積。
例如,根據上表,我們應該輸出:
結果:
總結
今天好好學習了一下 SQL 的查詢、篩選、分組、排序和函數, 總的來說比較簡單。
文中主要圖表和代碼參考 《SQL 必知必會》,人民郵電出版社出版,[美]Ben Forta 著,鐘鳴,劉曉霞譯。
轉載于:https://www.cnblogs.com/sunchaothu/p/10447982.html
總結
以上是生活随笔為你收集整理的Datawhale MySQL 训练营 Task2 查询语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转:SQL Server游标的使用
- 下一篇: 七章作业心得