這是一系列關於 SQL 語言及其在 Microsoft Access 2000 應用中用法的文章之首篇。全系列共三篇,分別涵蓋基礎、進階與高階主題。本文著重介紹使用 Jet SQL 操作 Access 2000 資料庫資料的基本機制,並深入探討如何以 SQL 建立與修改資料庫結構。若您初次接觸在 Access 中以 SQL 操控資料,本文將是絕佳的起點。
SQL(Structured Query Language,結構化查詢語言)是存取與操作關聯式資料庫的標準語言。Microsoft Jet 資料庫引擎支援 ANSI SQL-92 标准的子集,並擴充了許多 Jet 特有的功能。在 Access 2000 中,您可以透過查詢設計視窗的 SQL 檢視、DAO/ADO 程式碼,或是透過「執行 SQL」動作來直接撰寫並執行 SQL 陳述式。
DDL 用於定義資料庫結構,主要包含 CREATE、ALTER、DROP 等陳述式。在 Jet SQL 中,您可以:
CREATE TABLE 定義欄位名稱、資料類型、主鍵、預設值與約束條件。ALTER TABLE 新增/刪除欄位、修改資料類型、加入/移除索引與約束。CREATE INDEX 提升查詢效能,支援單欄與複合索引、唯一與非唯一索引。CONSTRAINT ... FOREIGN KEY 定義資料表間的參考完整性。範例:建立含主鍵與外鍵的訂單資料表:
CREATE TABLE Orders (
OrderID AUTOINCREMENT PRIMARY KEY,
CustomerID LONG NOT NULL,
OrderDate DATETIME DEFAULT NOW(),
CONSTRAINT FK_CustomerOrders FOREIGN KEY (CustomerID)
REFERENCES Customers (CustomerID)
);
DML 用於查詢與修改資料,核心指令包括:
實用技巧:
INNER JOIN、LEFT JOIN 處理多表關聯查詢。GROUP BY 進行統計分析。Access 提供多種撰寫與執行 SQL 的途徑:
CurrentDb.Execute "SQL 陳述式" 或 Recordset.Open "SELECT ...", Connection 動態操作資料。掌握 Jet SQL 基礎,能讓您更靈活地設計 Access 應用程式,突破查詢設計視窗的限制。下一篇將進階探討子查詢、聯集查詢、條件運算式等進階技巧,敬請期待。