博客 / 詳情

返回

MySQL查詢語句大全

常用的 MySQL 查詢語句示例

MySQL 是常見的關係型數據庫管理系統,廣泛應用於數據存儲、查詢和管理。為了更高效地操作數據庫,掌握常用的查詢語句非常重要。本文將介紹一些基本的 MySQL 查詢語句,涵蓋了常用的查詢、更新、刪除操作,以及如何使用聚合函數和連接查詢。


1. 基本查詢

查詢所有記錄

SELECT * FROM table_name;
  • 説明* 表示選擇表中的所有列。此語句將返回表中所有的記錄。

查詢特定列

SELECT column1, column2 FROM table_name;
  • 説明:通過指定列名,查詢指定的列數據。你可以選擇表中的任意一列或多列。

帶條件查詢

SELECT * FROM table_name WHERE condition;
  • 説明WHERE 子句用於設置查詢的條件。只有滿足條件的記錄才會被返回。

去重查詢

SELECT DISTINCT column FROM table_name;
  • 説明DISTINCT 用於去除重複的記錄,只返回唯一的值。

2. 排序和限制

排序

SELECT * FROM table_name ORDER BY column ASC/DESC;
  • 説明ORDER BY 用於排序。ASC 表示升序(默認),DESC 表示降序。

限制記錄數

SELECT * FROM table_name LIMIT count;
  • 説明LIMIT 用於限制返回的記錄條數。count 是返回記錄的數量。

3. 條件查詢

等於

SELECT * FROM table_name WHERE column = value;
  • 説明= 用於查詢某列等於某個特定值的記錄。

不等於

SELECT * FROM table_name WHERE column != value;

SELECT * FROM table_name WHERE column <> value;
  • 説明!=<> 用於查詢某列不等於某個特定值的記錄。

大於、小於、大於等於、小於等於

SELECT * FROM table_name WHERE column > value;
SELECT * FROM table_name WHERE column < value;
SELECT * FROM table_name WHERE column >= value;
SELECT * FROM table_name WHERE column <= value;
  • 説明:分別用於查詢大於、小於、大於等於、小於等於某個值的記錄。

區間查詢

SELECT * FROM table_name WHERE column BETWEEN value1 AND value2;
  • 説明BETWEEN 用於查詢某列值在指定範圍內的記錄,包括邊界值。

模糊查詢

SELECT * FROM table_name WHERE column LIKE 'pattern';
  • 説明LIKE 用於模糊匹配,% 表示任意數量的字符,_ 表示單個字符。例如,LIKE 'a%' 查找以 a 開頭的記錄。

空值判斷

SELECT * FROM table_name WHERE column IS NULL;
SELECT * FROM table_name WHERE column IS NOT NULL;
  • 説明IS NULL 判斷某列是否為 NULLIS NOT NULL 判斷某列是否不為 NULL

多條件查詢

SELECT * FROM table_name WHERE column1 = value1 AND column2 = value2;
SELECT * FROM table_name WHERE column1 = value1 OR column2 = value2;
  • 説明:使用 ANDOR 進行多條件查詢,AND 表示所有條件都滿足時返回記錄,OR 表示只需滿足一個條件即可。

4. 聚合函數

平均值

SELECT AVG(column) FROM table_name;
  • 説明AVG() 用於計算指定列的平均值。

總和

SELECT SUM(column) FROM table_name;
  • 説明SUM() 用於計算指定列的總和。

最大值

SELECT MAX(column) FROM table_name;
  • 説明MAX() 用於查詢指定列的最大值。

最小值

SELECT MIN(column) FROM table_name;
  • 説明MIN() 用於查詢指定列的最小值。

計數

SELECT COUNT(column) FROM table_name;
  • 説明COUNT() 用於統計指定列中非 NULL 的記錄數。

5. 分組和聚合

分組查詢

SELECT column1, SUM(column2) FROM table_name GROUP BY column1;
  • 説明GROUP BY 用於對數據進行分組,SUM() 用於計算每個分組的總和。可以用 COUNT(), AVG() 等函數進行統計。

過濾分組

SELECT column1, SUM(column2) FROM table_name GROUP BY column1 HAVING SUM(column2) > value;
  • 説明HAVING 用於過濾分組後的結果,與 WHERE 類似,但 WHERE 不能用於過濾聚合結果,HAVING 用於對聚合函數的結果進行過濾。

6. 連接查詢

內連接(INNER JOIN)

SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
  • 説明INNER JOIN 返回兩個表中匹配的記錄,如果沒有匹配,則不返回。

左連接(LEFT JOIN)

SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
  • 説明LEFT JOIN 返回左表的所有記錄,即使右表沒有匹配的記錄,右表的字段值會返回 NULL

右連接(RIGHT JOIN)

SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id;
  • 説明RIGHT JOIN 返回右表的所有記錄,即使左表沒有匹配的記錄,左表的字段值會返回 NULL

7. 子查詢

子查詢作為列

SELECT column, (SELECT MAX(column2) FROM table2) FROM table1;
  • 説明:子查詢作為列,可以從另一個表獲取相關數據。

子查詢作為條件

SELECT * FROM table1 WHERE column IN (SELECT column2 FROM table2);
  • 説明:子查詢作為條件用於從一個表的結果中篩選出符合條件的記錄。

8. 更新和刪除

更新記錄

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
  • 説明UPDATE 用於修改現有記錄,可以通過 WHERE 指定要更新的記錄。

刪除記錄

DELETE FROM table_name WHERE condition;
  • 説明DELETE 用於刪除符合條件的記錄,注意不要遺漏 WHERE,否則會刪除所有記錄。

總結

掌握常用的 MySQL 查詢語句是開發和維護數據庫的基礎。無論是進行數據查詢、更新還是刪除,合理使用 SQL 語法可以有效提高操作效率。通過上述基礎查詢語句、聚合函數、連接查詢和子查詢的組合應用,能夠滿足大多數數據處理需求。對於複雜查詢,可以靈活使用這些語句並根據實際需求進行優化。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.