作者diamondking (迷惘)
看板Database
标题Re: [SQL ] 如何删除上百笔的资料?
时间Wed Mar 12 22:50:56 2008
※ 引述《LPH66 (IWH68S0XZ8M89)》之铭言:
: ※ 引述《Xphenomenon (啦 )》之铭言:
: : 假设我有一百笔想要删除的资料,而我知道他们的栏位,我是否可以
: : 将他们存在某一个档案里面,然後透过 SQL 的语法一一将他们删除呢?
: : 例如:
: : 序号.txt 档案
: : 466
: : 789
: : 316
: : ...
: : ...
: : ...
: : 649
: : 777
: : 334
: : 以上序号.txt 档案里有各笔纪录的栏位资料,我想要透过 SQL 语法将此
: : 档案读入,进而分别删除各笔资料,请问有办法做到吗?
: : 谢谢各位大大的回答 :)
: 直觉想到的做法就是用别的语言读档建立出
: DELETE FROM `table` WHERE (`seqno`=466 OR `seqno`=789 OR ... OR `seqno`=334)
: 这样的字串 (这用个回圈即可) 然後丢给SQL
其实…有一个最简单的方法,不需要写程式读档,学会後非常好用…
就是将你的序号栏,贴进excel中。
再下一个栏位,用concatenate函式,串成sql指令:
=CONCATENATE("delete table where sno='",A1,"';")
(最後面记得加分号)
最後复制整栏你串好的sql指令,贴入你的资料库软体里,并在头尾加begin及end:
begin
整个B栏(就是excel里串好的sql栏)
end;
就完成啦。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.153.90
1F:推 PsMonkey:这篇... 该不该 m 阿.... Orz 03/12 23:04
2F:推 Xphenomenon:也不失是一个好办法 :D 大感谢~ 03/13 00:02
3F:推 grence:但是要装office..orz 03/13 00:41
4F:推 dinos:可以用 openoffice.org portable 03/13 00:51
5F:推 gargamel:这算是加工的好方法, 但若是长期固定要做的工作呢? 03/13 10:57
6F:推 sss2500:好方法!!! 03/15 12:51