1. 程式人生 > 實用技巧 >Mysql筆記

Mysql筆記

分類:

  1. DDL資料定義語言:操作資料庫,操作表
  2. DML資料操作語言:對錶中的記錄操作增刪改
  3. DQL資料查詢語言:對錶中的記錄查詢操作
  4. 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 ... fromwhere 條件
//取出表中的每一條資料,滿足條件的記錄就返回,不滿足條件的記錄就不返回

排序查詢:

單列排序:

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:一頁查詢的數量【固定的,自定義的】