在上一節中,我們已經介紹了如何使用 SQL 來檢視資料,這一節將說明如何使用 SQL 指令來對資料庫進行新增、修改、刪除資料等動作。
- 新增資料表:使用的 SQL 指令是「CREATE TABLE」,基本語法如下:
CREATE TABLE 資料表名稱 (欄位名稱1 欄位1資料型態, 欄位名稱2 欄位2資料型態, ...)
- 新增資料:使用的 SQL 指令是「INSERT」,基本語法如下:
INSERT INTO 資料表名稱(欄位名稱1, 欄位名稱2, ...)
VALUES (欄位1的資料, 欄位2的資料, ...)
如果欄位名稱沒有指定完全,則資料庫會自動取用此欄位之預設值,我們可由 Access 資料庫的「設計檢視」來檢視每一個欄位的預設值,請見前一章的說明。
- 修改資料:使用的 SQL 指令是「UPDATE」,基本語法如下:
UPDATE 資料表名稱
SET 欄位名稱1=欄位1的資料, 欄位名稱2=欄位2的資料,...
WHERE 條件式
- 刪除資料:使用的 SQL 指令是「DELETE」,基本語法如下:
DELETE FROM 資料表名稱
WHERE 條件式
如果沒有指定任何條件式,此 SQL 指令會刪除一個資料表內的所有紀錄,所以要特別小心!
- 刪除資料表:使用的 SQL 指令是「DROP TABLE」,基本語法如下:
DROP TABLE 資料表名稱
在下列範例中,我們在 ASP 網頁中使用 SQL 來對資料庫進行下列處理:
- 建立一個資料表 friend。
- 插入兩筆資料。
- 刪除一筆資料。
- 更新一筆資料。
- 刪除資料表 friend。
範例如下:
其原始碼如下:
在上述範例中,如果顯示的欄位值是 null,代表我們當初在新增資料時,並沒有設定相關欄位值,而此欄位在資料庫中也未設定預設值,所以才會回傳 null。
學習 SQL 最快的方法,就是看看幾個現成的例子。下面這個範例,可以讓你在網頁上嘗試各種查詢動作,例如新增、修改、刪除等,請試看看:
使用 Access 資料庫的另一個好處是,它提供了一個圖形化的查詢介面,妳可以使用這個查詢介面產生的要的查詢結果,再將此查詢方法轉成 SQL 的語法,此時你就可以將此 SQL 語法直接貼到妳的 ASP 程式碼,此方法對於產生複雜的 SQL 語法非常好用,詳細說明請見前一章,讀者不妨一試。
使用 ASP 整合資料庫時,可參考下列小秘訣:
- 資料庫內的資料表名稱及欄位名稱,最好是英文,且中間不可留白。
- 欄位名稱最好比較複雜,以免和資料庫的內建關鍵字相衝。(例如 index 和 group 就都不是適合的欄位名稱,因為它們和 Access 資料庫的內建關鍵字相衝,因此在執行 SQL 指令會有錯誤產生。)
- 文字欄位的預設值最好是空字串,不要不設定預設值。
- 在 Access 內,除非你的欄位資料量超過255個字元,否則盡量不要用到 memo 欄位,因為 memo 欄位不支援排序,也不支援萬用字元(如「*」或「?」等)。
另外要特別注意的是:在 Access 內執行 SQL 指令時,有兩個最重要的萬用字元:
但若要在 ASP 的程式碼內使用 SQL 的萬用字元,必須將「?」改為「_」,「*」改為「%」,以符合一般 SQL 語言的標準規範。(在 SQL Server 內執行 SQL 指令時,就是用「_」來比對一個字元,「%」來比對多個字元。)
JScript 程式設計與應用:用於伺服器端的 ASP 環境