-- 基本語法
INSERT [INTO] {table_name|view_name} [(column_list)]
{DEFAULT VALUES | values_list | select_statement}
-- 單一資料行
INSERT mytable (mycolumn) VALUES ('some data');
-- 多資料行
INSERT mytable (col1, col2, col3)
VALUES ('data1', 'data2', 'data3');
缺值處理規則: 有預設值用預設值;允許 NULL 則存 NULL;不允許 NULL 且無預設值報錯;身分識別欄自動產生值。新增後可用 @@IDENTITY 取得最新身分值。
DELETE [FROM] {table_name|view_name} [WHERE clause]
WHERE 條件支援所有 SELECT 可用運算子。警告: 無 WHERE 會刪除全表資料,大量刪除請用 TRUNCATE TABLE(不記錄日誌、速度極快)。
UPDATE {table_name|view_name}
SET column1=value1, column2=value2...
[WHERE clause]
無 WHERE 會更新全表。長文字更新請用 UPDATETEXT。可單一陳述式更新多欄位。
-- 複製整表
SELECT * INTO newtable FROM mytable;
-- 指定欄位與條件
SELECT col1, col2 INTO newtable
FROM mytable WHERE col3 = 'filter';
利用此技巧可繞過 ALTER TABLE 限制:建新表 → 複製資料 → 重命名,實現欄位刪除或資料類型變更。
統計資料必備,回傳單一值。ASP 應用中需加別名引用:
SELECT AVG(vote) AS the_average FROM opinion
| 函數 | 用途 | 範例 |
|---|---|---|
| COUNT(*) | 計算列數(含 NULL) | SELECT COUNT(*) FROM authors |
| COUNT(col) | 計算非 NULL 個數 | SELECT COUNT(au_lname) FROM authors |
| COUNT(DISTINCT col) | 計算不重複值 | SELECT COUNT(DISTINCT au_lname) FROM authors |
| AVG(col) | 數值平均(忽略 NULL) | SELECT AVG(vote) FROM opinion |
| SUM(col) | 數值總和 | SELECT SUM(amount) FROM orders |
| MAX(col) | 最大值 | SELECT MAX(vote) FROM opinion |
| MIN(col) | 最小值 | SELECT MIN(vote) FROM opinion |