首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 常用語句大全:從建庫到進階查詢一網打盡

     編輯:MySQL 綜合教學

MySQL 常用語句大全:從建庫到進階查詢一網打盡

本文彙整 MySQL 開發與維運高頻使用的 SQL 語句,涵蓋資料庫/資料表管理、資料增刪改查、進階查詢、使用者權限、備份還原等實戰場景,供快速查閱。

一、 資料庫與資料表基礎操作

操作語句範例
建立資料庫CREATE DATABASE db_name;
刪除資料庫DROP DATABASE db_name;
切換資料庫USE db_name;
建立資料表CREATE TABLE t (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20));
複製表結構CREATE TABLE new_t LIKE old_t;
複製表結構+資料CREATE TABLE new_t AS SELECT * FROM old_t;
刪除資料表DROP TABLE t;
新增欄位ALTER TABLE t ADD col INT;
新增主鍵/索引ALTER TABLE t ADD PRIMARY KEY (id); CREATE INDEX idx_name ON t(col);
建立/刪除視圖CREATE VIEW v AS SELECT ...; DROP VIEW v;

二、 核心 DML 與基礎查詢

  • 插入: INSERT INTO t (c1, c2) VALUES (v1, v2);
  • 刪除: DELETE FROM t WHERE 條件;
  • 更新: UPDATE t SET c1=v1 WHERE 條件;
  • 查詢: SELECT * FROM t WHERE c1 LIKE '%値%';
  • 排序: ORDER BY c1 DESC, c2 ASC;
  • 聚合: COUNT/SUM/AVG/MAX/MIN
  • 分頁: LIMIT offset, row_count;

三、 進階查詢運算子

  • UNION (合併去重) / UNION ALL (保留重複)
  • INTERSECT (交集) / EXCEPT (差集) —— MySQL 8.0+ 支援

四、 多表連接查詢

  • 內連接: INNER JOIN — 僅返回匹配列。
  • 左外連接: LEFT JOIN — 保留左表所有列。
  • 右外連接: RIGHT JOIN — 保留右表所有列。
  • 全外連接: MySQL 不直接支援,可用 LEFT JOIN UNION RIGHT JOIN 模擬。

五、 子查詢與衍生表

  • 標量子查詢: WHERE col = (SELECT MAX(x) FROM t)
  • IN / NOT IN: WHERE col IN (SELECT ...)
  • EXISTS / NOT EXISTS: 相關子查詢,效能通常優於 IN。
  • 衍生表: SELECT * FROM (SELECT ... ) AS dt WHERE ...

六、 分組與視窗函數 (8.0+)

  • GROUP BY col HAVING COUNT(*) > 1
  • GROUP_CONCAT(col) 顯示分組明細
  • 視窗函數:ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...)、RANK()、LEAD/LAG() 等。

七、 實用技巧與維運語句

  1. 刪除重複資料 (保留 ID 最大):
    DELETE FROM t WHERE id NOT IN (SELECT MAX(id) FROM t GROUP BY col1, col2);
  2. 隨機取樣: ORDER BY RAND() LIMIT 10 (大表慎用)
  3. 備份整庫: mysqldump -u root -p db_name > backup.sql
  4. 還原: mysql -u root -p db_name < backup.sql 或 Source 指令
  5. 授權建立用戶:
    CREATE USER 'user'@'%' IDENTIFIED BY 'pwd';
    GRANT SELECT, INSERT ON db.* TO 'user'@'%'; FLUSH PRIVILEGES;
  6. 查看表結構: DESC t; / SHOW CREATE TABLE t;
  7. 修改資料表名稱: RENAME TABLE old TO new;

八、 常見資料類型速查

  • 整數:TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT
  • 浮點:FLOAT/DOUBLE/DECIMAL(M,D)
  • 字串:CHAR(M) 定長, VARCHAR(M) 變長, TEXT/BLOB 長文本/二進位
  • 日期時間:DATE/TIME/DATETIME/TIMESTAMP/YEAR

掌握上述語句,足以應對 90% 以上的日常開發與運維場景。建議搭配官方文件深入理解各子句的邊界行為與效能特徵。

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