這裡蒐索程式師資訊,查找有用的技術資料
當前位置:首頁 » 編程語言 » 按條件刪除數據sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

按條件刪除數據sql

發布時間: 2022-05-07 09:29:10

sql怎麼刪除一個表中的所有數據

刪除表數據有兩種方法:delete和truncate。具體語句如下:

一、RUNCATE TABLE name :

刪除表中的所有行,而不記錄單個行刪除操作。在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續存在。

TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。

二、Delete from tablename where 1=1

1、delete語法:

DELETE FROM 表名稱 WHERE 列名稱 = 值。

2、刪除所有行:

可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:DELETE FROM table_name。

(1)按條件刪除數據sql擴展閱讀:

truncate和delete的共同點及區別:

1、 truncate和 delete只刪除數據不刪除表的結構(定義) 。

2、delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger,執行的時候將被觸發。

truncate是ddl, 操作立即生效,原數據不放到rollback segment中,不能回滾. 操作不觸發trigger。

3、delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動 。truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate會將高水線復位(回到最開始)。

4、速度,一般來說: truncate >delete 。

Ⅱ 1.SQL中如何用delete刪除指定表中的所有內容 2.如何刪除所有表

delete
from
table
是根據條件來刪除的,也就是說,你可以根據自己想刪除的記錄的一些特有的條件來刪除它,
一般plsql操作oracle的時候,可以將語句寫成這種格式
select
*
from
table
--delete
from
table
where
a
=
b;
and
c
in
('d','e')
and
f
like
'%g%';
刪除的時候可以從delete開始選中,完全選中就是查看,
如果想刪除所有表,那麼可以使用這種方法(慎用!!!):
用戶下有一個默認的表,all_tables
裡面存儲了所有表的信息,可以通過字元拼接來實現drop語句
select
'drop
table
'||table_name||';'
from
all_tables;
將這些語句執行,那麼就可以刪除所有表,
不過也可以通過select
*
from
all_tables
where
table_name
like
'%abcd%';來查找自己想要刪除卻忘記了表名的一些表。

Ⅲ sql刪除語句,多條件刪除怎麼判斷

delete from table where a=123 and time>'21:30' and time <'21:40'
實例刪除,2008-08-11 12:00:15秒的數據
delete from t_cp where callpsalary=1800 and stime>'2008-08-11 12:00:00' and stime <'2008-08-11 12:01:00'
只刪除這一條!

Ⅳ 求SQL語句:按條件刪除數據

delete from secend t where t.username in (select username from first where time like '20120203%');
delete from first where time like '20120203%';
commit;

記得要先刪secend表,再刪first表。

表的數據量不會很大吧?那就直接執行就可以了。

另外如果time數據類型是date的,那就把time like '20120203%' 改成
time >=to_date('20120203','yyyymmdd') and time <to_date('20120204','yyyymmdd')

Ⅳ SQL資料庫怎麼根據條件刪除數據

delete * from 會員表 where 級別欄位>100 and datediff(d,最後一次登陸的時間,getdate())>6.

你需要把表的名稱和欄位的名稱寫出來。

Ⅵ sql server 400多萬的數據表,怎麼按條件快速的刪除,只有用delete+循環刪除么,有沒有其他的辦法

首先,確定一下刪除的條目占總條目的比例,如果少於10%那麼可以用index來提高效率,如果大於10%,那麼若原表格有index就禁用,改用full table scan,若刪除的條目大於50%,那麼可以把符合條件的條目選出來建立新表,在把原表格刪除,讓後把新表名稱改成和原表一樣

Ⅶ SQL語句按條件刪除數據

前提是secend中的username是主鍵 first中是username是外鍵語句如下
delete from second where username in (select username from first where to_number(to_char(time,'yyyymmdd')) < 20120203) cascade;
ps:否則還需要重新刪除first中的行如下
delete from first where to_number(to_char(time,'yyyymmdd')) < 20120203;

Ⅷ SQL刪除語句多條件刪除怎麼寫

用and,條件是並列的,就是說and前後的條件同時滿足才能刪除
delete from 銷售 where 單號 =『1001』 and 條碼='3002'
祝好運,望採納。