五等-統計資料處理大意108 年第 46 題單選題
下列那個 SQL 語法可以用來刪除關聯中的外部鍵限制?
ADELETE CONSTRAINT …
BDELETE TABLE … CONSTRAINT …
CALTER TABLE … DROP CONSTRAINT …正確答案
DALTER TABLE … ALTER CONSTRAINT …
C正確答案
刪除外部鍵限制要用 ALTER TABLE 搭配 DROP CONSTRAINT 語法。
為什麼答案是 C
正解。修改資料表結構用 ALTER TABLE,刪除約束(含外部鍵)用 DROP CONSTRAINT。完整語法:ALTER TABLE 表名 DROP CONSTRAINT 約束名稱。
載入中…
完整詳解
Pro · 無限重點 刪除外部鍵限制要用 ALTER TABLE 搭配 DROP CONSTRAINT 語法。
記口訣:「改表刪約束」→ ALTER TABLE ... DROP CONSTRAINT 約束名稱。
逐選項分析
A✕
SQL 沒有單獨的 DELETE CONSTRAINT 語法。DELETE 是用來刪除資料列(row),不是刪除結構物件。語法錯誤。
B✕
沒有 DELETE TABLE 這種語法。刪除整張表要用 DROP TABLE,且不能混搭 CONSTRAINT 子句。純屬杜撰。
C✓ 正確
正解。修改資料表結構用 ALTER TABLE,刪除約束(含外部鍵)用 DROP CONSTRAINT。完整語法:ALTER TABLE 表名 DROP CONSTRAINT 約束名稱。
D✕ 陷阱
ALTER CONSTRAINT 是「修改」不是「刪除」,且主流 DBMS 也少用此寫法。題目問「刪除」,關鍵動詞應為 DROP 而非 ALTER。
SQL 三大操作指令分類
| 指令 | 作用對象 | 用途 | 範例 |
|---|
| DELETE | 資料列 | 刪除表中的資料 | DELETE FROM T WHERE... |
| DROP | 結構物件 | 刪除表/約束/索引 | DROP TABLE T / DROP CONSTRAINT |
| ALTER | 結構 | 修改表結構 | ALTER TABLE T ADD/DROP... |
| TRUNCATE | 資料列 | 清空整表資料 | TRUNCATE TABLE T |
考選部最愛混淆 DELETE / DROP / ALTER 三個動詞。記住:刪資料用 DELETE、刪結構(表、約束、索引)用 DROP、改結構用 ALTER。本題要「刪除外部鍵限制(約束)」屬於結構層級,必須用 ALTER TABLE ... DROP CONSTRAINT。