本文會列出 MySQL / MariaDB 在查詢、新增、修改及刪除資料時,會用到的一些 SQL 語法及範例,包含查詢資料、新增資料、更新資料、刪除資料、清空資料表資料。

範例資料表

會員資料表:member

id name gender age city
GM0001 王小明 30 台北
GM0002 孫小美 28 高雄
GM0003 陳小華 26 嘉義

VIP會員資料表:member_vip

id name gender age city
VIP0001 李小寶 34 台南

查詢資料

            
                -- 格式:
                SELECT [欄位1名稱], [欄位2名稱], ... FROM [資料表名稱];

                -- 範例:查詢所有會員資料
                SELECT * FROM member;
                SELECT id, name, gender, age, city FROM member;

                -- 關鍵字 WHERE,增加篩選條件
                -- 範例:查詢所有男性會員的姓名及年齡
                SELECT name, age FROM member WHERE gender = '男';

                -- 關鍵字 ORDER BY,增加排序方式
                -- 範例:查詢所有會員資料,並且根據年齡由小排到大
                SELECT * FROM member ORDER BY age ASC;
                -- 範例:查詢所有會員資料,並且根據年齡由大排到小
                SELECT * FROM member ORDER BY age DESC;

                -- 關鍵字 LIMIT,限制搜尋筆數
                -- 範例:查詢前 5 筆會員資料
                SELECT * FROM member LIMIT 5;
                -- 範例:查詢從第 6 筆的 10 筆會員資料,共 10 筆
                SELECT * FROM member LIMIT 5, 10;
            
        

新增資料

            
                -- 格式:
                INSERT INTO [資料表名稱] ([欄位1名稱], [欄位2名稱], ...) VALUES ([欄位1資料], [欄位2資料], ...);
                INSERT INTO [資料表名稱] VALUES ([欄位1資料], [欄位2資料], ...);

                -- 範例:新增一筆會員資料
                INSERT INTO member (id, name, gender, age, city) VALUES ('GM0004', '陳小強', '男', '32', '彰化');
                INSERT INTO member VALUES ('GM0004', '陳小強', '男', '32', '彰化');

                -- 格式:
                INSERT INTO [A資料表名稱] ([欄位1名稱], [欄位2名稱], ...)
                SELECT [欄位1名稱], [欄位2名稱], ... FROM [B資料表名稱] WHERE [條件式];

                -- 範例:將 member 資料表中的王小明資料,複製到 member_vip 資料表中,並且編號改為 VIP0002
                INSERT INTO member_vip (id, name, gender, age, city)
                SELECT 'VIP0002', name, gender, age, city FROM member WHERE id = 'GM0001';
            
        

更新資料

            
                -- 格式
                UPDATE [資料表名稱]
                SET [欄位1名稱] = [欄位1資料], [欄位2名稱] = [欄位2資料], ...
                WHERE [條件式];

                -- 範例:將王小明年齡改為 31 歲
                UPDATE member
                SET member = 31
                WHERE id = 'GM0001';

                -- 範例:將王小明年齡改為 31 歲,並且居住地改為台南
                UPDATE member
                SET member = 31, city= '台南'
                WHERE id = 'GM0001';
            
        

刪除資料

            
                -- 格式
                DELETE FROM [資料表名稱] WHERE [條件式];

                -- 範例:刪除會員資料表中王小明的資料
                DELETE FROM member WHERE id = 'GM0001';

                -- 範例:刪除會員資料表中的所有資料
                DELETE FROM member;

                -- 範例:刪除會員資料表中的所有資料
                TRUNCATE TABLE member;