SQL刪除語句

2021-09-24 06:08:30 字數 1488 閱讀 7027

如果我們要刪除資料庫中表的資料,我們就可以使用delete語句。

delete語句的基本語法是:

delete from 《表名》 where ...;

例如,我們想刪除employees表中id=100的記錄,就需要這麼寫:

delete

from

employees

where

employee_id =

100;

-- 查詢結果:

在這裡我們發現delete語句的where條件也是用來篩選需要刪除的行,因此和update類似,delete語句也可以一次刪除多條記錄:

delete

from

employees

where

employee_id >=

101and

employee_id <=

105;

-- 查詢結果:

如果where條件沒有匹配到任何記錄,delete語句不會報錯,也不會有任何記錄被刪除。例如:delete

from

employees

where

employee_id =

999;

-- 刪除employee_id=999的記錄

--查詢結果:

和update類似,不帶where條件的delete語句會刪除整個表的資料:

delete

from

employees;

這時,整個表的所有記錄都會被刪除。所以,在執行delete語句時也要非常小心,最好先用select語句來測試where條件是否篩選出了期望的記錄集,然後再用delete刪除。

在使用oracle這類關聯式資料庫時,delete語句會返回刪除的行數以及where條件匹配的行數。

例如,分別執行刪除employee_id=100和employee_id=999的記錄:

sql> delete from employees where employee_id=100;

query ok, 1 row affected (0.01 sec)

sql> delete from employees where employee_id=999;

query ok, 0 rows affected (0.01 sec)

另外如果要進行刪除的這條資料在其他表中使用,並且建立了約束的話,是不能直接進行刪除的。

SQL刪除語句用法

一 drop 語法 drop table tablename 作用 刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增資料是不可能的,除非新增乙個表 二 truncate 語法 truncate table tablename 作用 刪除內容 釋放空間但不刪除定義。與drop不同的是,他...

SQL語句級聯刪除

如果想刪除主表的時候同時刪除字表資料,可以在建立外來鍵時設定on delete cascade 但是需要注意的是,這樣是比較危險的,盡量在業務中用程式控制刪除。create table a and b 主表 create table department dept id number 4 not n...

SQL批量刪除語句,SQL刪除所有資料

sp msforeachtable delete from execute sp msforeachtable truncate table 定義游標 declare tables cursor cursor for select name from sysobjects where type u ...