但是這些資料是如果進入這些表格的呢?通過 (INSERT INTO) 和 (UPDATE) 便可以做到。
INSERT INTO語法:-
基本上,我們有兩種作法可以將資料輸入表格中:
1. 一次輸入一筆,
2. 一次輸入好幾筆。
一次輸入一筆資料的語法如下:
INSERT INTO "表格名" ("欄位1", "欄位2", ...)
VALUES ("值1", "值2", ...)
假設我們有一個架構如下的表格:
Store_Information 表格
Column Name | Data Type |
store_name | char(50) |
Sales | float |
Date | datetime |
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, 'Jan-10-1999')
一次輸入多筆的資料:
跟上面的例子不同的是,現在我們要用 SELECT 指令來指明要輸入表格的資料。如果您想說,這是不是說資料是從另一個表格來的,那您就想對了。一次輸入多筆的資料的語法是:
INSERT INTO "表格1" ("欄位1", "欄位2", ...)
SELECT "欄位3", "欄位4", ...
FROM "表格2"
以上的語法是最基本的。這整句 SQL 也可以含有 WHERE、 GROUP BY、及 HAVING 等子句,以及表格連接及別名等等。
舉例來說,若我們想要將 1998 年的營業額資料放入 Store_Information 表格,而我們知道資料的來源是可以由 Sales_Information 表格取得的話,那我們就可以鍵入以下的 SQL:
INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998
在這裡,我用了 SQL Server 中的函數來由日期中找出年。不同的資料庫會有不同的語法。舉個例來說,在 Oracle 上,您將會使用 WHERE to_char(date,'yyyy')=1998。
UPDATE語法:-
我們有時候可能會需要修改表格中的資料。在這個時候,我們就需要用到 UPDATE 指令。這個指令的語法是:
UPDATE "表格名"
SET "欄位1" = [新值]
WHERE {條件}
最容易瞭解這個語法的方式是透過一個例子。假設我們有以下的表格:
Store_Information 表格
store_name | Sales | Date |
Los Angeles | $1500 | Jan-05-1999 |
San Diego | $250 | Jan-07-1999 |
Los Angeles | $300 | Jan-08-1999 |
Boston | $700 | Jan-08-1999 |
UPDATE Store_Information
SET Sales = 500
WHERE store_name = "Los Angeles"
AND Date = "Jan-08-1999"
現在表格的內容變成:
Store_Information 表格
store_name | Sales | Date |
Los Angeles | $1500 | Jan-05-1999 |
San Diego | $250 | Jan-07-1999 |
Los Angeles | $500 | Jan-08-1999 |
Boston | $700 | Jan-08-1999 |
我們也可以同時修改好幾個欄位。這語法如下:
UPDATE "表格"
SET "欄位1" = [值1], "欄位2" = [值2]
WHERE {條件}