首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 入門教學(四):資料查詢與條件篩選進階

     編輯:MySQL 資料庫相關知識

SELECT 基礎語法

SELECT 欄位清單 FROM 資料表 WHERE 條件 ORDER BY 排序欄位 [ASC|DESC] LIMIT 筆數;

常用查詢範例

查詢所有資料

SELECT * FROM mytable;

條件篩選

-- 單一條件
SELECT * FROM mytable WHERE name = 'tom';

-- 多重條件 (AND/OR)
SELECT * FROM mytable WHERE sex = 'f' AND birthaddr = 'china';

-- 範圍條件
SELECT * FROM mytable WHERE birth BETWEEN '1970-01-01' AND '1980-12-31';

-- 模糊比對
SELECT * FROM mytable WHERE name LIKE 'a%';

指定欄位投影

SELECT name, birth FROM mytable;

排序

-- 依出生日期升冪
SELECT name, birth FROM mytable ORDER BY birth ASC;

-- 依出生日期降冪
SELECT name, birth FROM mytable ORDER BY birth DESC;

聚合與分組

-- 總筆數
SELECT COUNT(*) FROM mytable;

-- 依性別分組統計
SELECT sex, COUNT(*) FROM mytable GROUP BY sex;

-- 進階:有條件的分組統計
SELECT sex, COUNT(*) AS cnt FROM mytable WHERE birth > '1975-01-01' GROUP BY sex HAVING cnt > 1;

資料修正

UPDATE mytable SET birth = '1973-09-02' WHERE name = 'tom';

實務技巧

  • 避免 SELECT *,明確列出所需欄位減少網路傳輸與 I/O
  • LIMIT 配合 ORDER BY 實作分頁(注意大偏移量效能問題)
  • 使用 EXPLAIN SELECT ... 檢視執行計畫,確認索引使用情況
  • 字串比對預設不區分大小寫,需區分時用 BINARY 或 COLLATE utf8mb4_bin

熟練這些查詢技巧,即可應付 80% 的日常資料檢索需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved