MySQL 語法

Henry Huang
Henry{ 學習筆記 }
3 min readSep 13, 2021

--

Photo by Caspar Camille Rubin on Unsplash

記錄一些 MySQL 語法,方便自己之後查看

資料庫操作

建立 資料庫

CREATE DATABASE 資料庫名;

列出現有資料庫

SHOW DATABASES;

使用資料庫

USE 資料庫名;

刪除資料表

DROP TABLE 資料表名;

刪除資料庫

DROP DATABASE 資料庫名;

查詢資料庫

SELECT… FROM… 列出資料表所有資料

SELECT * FROM 資料表名;

若要列出特定欄位

SELECT 欄位名 FROM 資料表名;
SELECT name FROM user;

列出多重欄位

SELECT 欄位名1, 欄位名2... FROM 資料表名;

DISTINCT 列出欄位資料 ( 排除重複資料 )

SELECT DISTINCT 欄位名 FROM 資料表名;

WHERE 使用條件查詢資料

SELECT 欄位名 FROM 資料表名 WHERE 條件
SELECT age FROM user WHERE age > 18;

NULL、 NOT NULL 查詢欄位是否為空值

SELECT... FROM 資料表名 WHERE 欄位名 IS NULL;
SELECT... FROM 資料表名 WHERE 欄位名 IS NOT NULL;

AS 替欄位取設定條件後取別名呈現在列表

SELECT name, age, age >= 20 AS adult FROM user WHERE age >= 20;

AND、OR、NOT 篩選條件

判斷優先順序 NOT > AND > OR

WHERE 條件1 AND 條件2;
WHERE 條件1 OR 條件2;
WHERE NOT 條件;

在多重邏輯下,會利用括號做運算順序標記

SELECT name, age, gender, height FROM user
WHERE gender = "男"
AND ( age >= 18 OR height >= 180 );

BETWEEN 指定查詢範圍

WHERE 欄位名 BETWEEN value1 AND value2;

IN、NOT IN 縮短條件描述

若是對相同欄位重複查詢的話,可將條件做一次查詢

原本使用 OR

WHERE id = 'A001' OR id = 'A002' OR id = 'A003';

使用 IN 寫法縮短後

WHERE id IN ('A001', 'A002', 'A003');

NOT 也是一樣,只是去除不要的

WHERE id NOT IN ('A001', 'A002', 'A003');

模糊查詢

使用萬用字元 % 、 _

% 代表 0 個字元以上的任何字串

_ 代表任何一個字元

LIKE 查詢特定字串資料

LIKE 查詢搭配萬用字元為"相當於"

一般的 LIKE 查詢為"等於"

WHERE name LIKE '王%'   # 查詢姓名為 '王XX' 的會員WHERE name LIKE '%明'   # 查詢姓名為 'XX明' 的會員WHERE name LIKE '%小%'  # 查詢姓名為 'X小X' 的會員WHERE name LIKE '王_'   # 查詢姓名為 '王X' 的會員

NOT LIKE 查詢不包含特定字串資料

WHERE name NOT LIKE '王%'   # 查詢姓名不包含 '王XX' 的會員WHERE name LIKE '王_'   # 查詢姓名不包含 '王X' 的會員

以上資料如有錯誤,歡迎交流更正。

--

--

Henry Huang
Henry{ 學習筆記 }

透過做筆記來加強自己的記憶及之後方便找尋