民國106年 第2梯次 電腦軟體應用乙級 學科
第56題
撰寫結構化查詢語言( S Q L ) 的D E L E T E 陳述式,對關聯式資料庫( R e l a t i o n a l D a t a b a s e…
題目
撰寫結構化查詢語言( S Q L ) 的D E L E T E 陳述式,對關聯式資料庫( R e l a t i o n a l D a t a b a s e ) 進行資料刪除作業時,如果沒有加上適當的W H E R E 子句將會造成何種結果?
- (1) 目標資料表( T a b l e ) 只有前五筆資料被刪除
- (2) 目標資料表( T a b l e ) 的所有資料均被刪除
- (3) 目標資料表( T a b l e ) 只有最後一筆資料被刪除
- (4) 目標資料表( T a b l e ) 只有第一筆資料被刪除
官方答案
(2) 目標資料表( T a b l e ) 的所有資料均被刪除
解析
「DELETE FROM 資料表」若省略 WHERE 條件,DBMS 會視為條件對每一列都成立,因此把資料表中所有資料列刪除;但資料表結構、欄位定義與索引仍會保留,之後仍可 INSERT 新資料。若要清空並重設,實務上會用 TRUNCATE TABLE,效率較高,同樣保留結構。選項1、3、4 都把刪除範圍限定在特定筆數,與 SQL 對全表逐列刪除的語意不符;DELETE 並沒有「只刪前五筆」或「只刪第一筆、最後一筆」的預設行為。未加 WHERE 的結果就是全表資料被清空,操作前務必先以 SELECT 確認範圍並備份。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。