SQL

結構化查詢語言

SQL 概述

SQL (Structured Query Language) 是關聯式資料庫的標準查詢語言,用於資料的定義、查詢、更新與管理。主要分為 DDL (資料定義)、DML (資料操作)、DQL (資料查詢) 和 DCL (資料控制)。

資料定義 (DDL)

CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
email TEXT NOT NULL UNIQUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX idx_users_email ON users(email);

資料查詢 (DQL)

-- 基本查詢
SELECT * FROM users WHERE age >= 18;

-- JOIN 查詢
SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

-- 聚合
SELECT status, COUNT(*) as count
FROM orders GROUP BY status HAVING COUNT(*) > 10;

-- 排序與分頁
SELECT * FROM users ORDER BY created_at DESC LIMIT 10 OFFSET 20;

資料操作 (DML)

INSERT INTO users (name, email) VALUES ('王小明', 'wang@example.com');

UPDATE users SET age = 26 WHERE name = '王小明';

DELETE FROM users WHERE age < 18;

交易 (Transaction)

交易確保多個操作要麼全部成功,要麼全部失敗 (ACID)。

START TRANSACTION;
INSERT INTO users (name, email) VALUES ('新使用者', 'new@example.com');
INSERT INTO orders (user_id, total) VALUES (LAST_INSERT_ID(), 100.00);
COMMIT;
-- ROLLBACK; -- 取消交易

本課程範例

相關連結