Mysql筆記
阿新 • • 發佈:2020-10-10
分類:
- DDL資料定義語言:操作資料庫,操作表
- DML資料操作語言:對錶中的記錄操作增刪改
- DQL資料查詢語言:對錶中的記錄查詢操作
- DCL資料控制語言:對使用者許可權的設定
查詢所有列的記錄:
select * form 表名
查詢商品表裡面所有的列
select * from product;
查詢商品的名字和價格
select pname,price from product(表名);
查詢商品名稱和商品價格,商品價格通過別名‘價格’顯示
select pname ,price as 價格 from product;
把商品名和商品價格+10查詢出來
select pname,price+10 from product;
條件查詢:
select ... from 表 where 條件 //取出表中的每一條資料,滿足條件的記錄就返回,不滿足條件的記錄就不返回
排序查詢:
單列排序:
SELECT 欄位名 FROM 表名 [WHERE 條件] ORDER BY 欄位名 [ASC|DESC];
//ASC: 升序,預設值; DESC: 降序
以分數降序查詢所有的學生
select * from student order by scre desc;
組合排序:
SELECT 欄位名 FROM 表名 WHERE 欄位=值 ORDER BY 欄位名1 [ASC|DESC], 欄位名2 [ASC|DESC];
以分數降序查詢所有的學生,如果分數一致,再以age降序
select * from student order by score desc,age desc;
聚合函式:
SELECT 聚合函式(列名) FROM 表名 [where 條件];
-- 求出學生表裡面的最高分數 -- 求出學生表裡面的最低分數 -- 求出學生表裡面的分數的總和(忽略null值) -- 求出學生表裡面的平均分 -- 統計學生的總人數 (忽略null)
select Max(score) from student; select Min(score) from student;select sum(score) from student; select AVG(score) from student; select COUNT(sid) FROM student; select COUNT (*) FROM student;
需要注意的是:聚合函式會忽略null
分組查詢:
GROUPBY語句對查詢資訊進行分組
SELECT 欄位1,欄位2... FROM 表名 [where 條件] GROUP BY 列 [HAVING 條件];
根據性別分組,統計每一組學生的總人數
select sex,cout(*) from student GROUP BY sex;
根據性別分組,統計每一組學生的總人數>5的
select sex,cout(*) FROM student GROUP BY sex HAVING cout(*)>5
子名 | 作用 |
where子句 | 先過濾再分組,where後面不能使用聚合函式 |
having子句 | 先分組,再過濾,having後面可以使用聚合函式 |
分頁查詢:
select ... from ...limit 起始行數,查詢的記錄條數
limit a,b; a:從哪裡開始查詢,從0開始計數【a=(當前頁碼-1)*b】 b:一頁查詢的數量【固定的,自定義的】