推薦 刪除重復數據
一、具有主鍵的情況
a.具有唯一性的欄位id(為唯一主鍵)
delect table
where id not in
(
select max(id) from table group by col1,col2,col3...
)
group by 子句後跟的欄位就是你用來判斷重復的條件,如只有col1,
那麼只要col1欄位內容相同即表示記錄相同。
b.具有聯合主鍵
假設col1+','+col2+','...col5 為聯合主鍵
select * from table where col1+','+col2+','...col5 in (
select max(col1+','+col2+','...col5) from table
where having count(*)>1
group by col1,col2,col3,col4
)
group by 子句後跟的欄位就是你用來判斷重復的條件,
如只有col1,那麼只要col1欄位內容相同即表示記錄相同。
or
select * from table where exists (select 1 from table x where table.col1 = x.col1 and
table.col2= x.col2 group by x.col1,x.col2 having count(*) >1)
c:判斷所有的欄位
select * into #aa from table group by id1,id2,....
delete table
insert into table
select * from #aa
二、沒有主鍵的情況
a:用臨時表實現
select identity(int,1,1) as id,* into #temp from ta
delect #temp
where id not in
(
select max(id) from # group by col1,col2,col3...
)
delete table ta
inset into ta(...)
select ..... from #temp
b:用改變表結構(加一個唯一欄位)來實現
alter table 表 add newfield int identity(1,1)
delete 表
where newfield not in
(
select min(newfield) from 表 group by 除newfield外的所有欄位
)
alter table 表 drop column newfield
B. SQL語言中刪除資料庫表和刪除資料庫表中記錄分別使用什麼命令
刪除表用drop語句:droptabletablename;
解釋:上面語句的意思就是刪除表名為tablename的表。
刪除記錄用delete語句:='123';
解釋:上面語句的意思就是刪除tablename表中username欄位的值為123的所有記錄。
備註:drop通常是刪除的對象,delete通常刪除的是某些特定條件下的記錄。
C. 怎樣用sql語言刪除一行數據
在SQL資料庫中刪除記錄一般使用Delete語句,下面就將為您介紹SQL中用於刪除記錄的DELETE語句的語法
DELETE FROM 表名稱 WHERE 列名稱 = 值
(3)sql刪除記錄的命令擴展閱讀:
語句沒有where語句,所以它將刪除所有的記錄,因此如果沒有使用where的時候,要千萬小心。
為了從表中刪除一個完整的記錄或者行,就直接在"delete from"後面加上表的名字,並且利用where指明符合什麼條件的行要刪除即可。
D. SQL刪除命令
刪除DB中的表SQL語句:
drop table (table_name)
刪除表中對象:
delete (name) where (對象名) like '(匹配項)'
E. SQL 刪除命令!急急急!
刪除是delete from 表 where條件。如果就這一條,很簡單
delete from 0600.66310 where 系統編號=4410; 然後commit;
F. SQL中刪除記錄的方法
設資料庫中有某個數據表text
刪除表:
DROP TABLE test
刪除表中某條記錄:
DELETE FROM test WHERE ...【這里是你的查找條件,滿足這個條件的記錄將被刪除,也可以用子查詢語句】
G. SQL語言中,刪除表中數據的命令是什麼
delete table where 條件
H. 在visual foxpro中sql delete命令是____刪除記錄
sql的delete命令和傳統的visual foxpro的delete命令只能邏輯刪除資料庫表中的記錄。要物理刪除需用pack命令,故該題答案為邏輯。
I. 在sql中,對基本表中的記錄進行插入.修改.刪除的命令分別為
1、插入
--1.1【插入單行】
insert[into]<表名>(列名)values(列值)
--例:
insertintoStrdents(姓名,性別,出生日期)values('開心朋朋','男','1980/6/15')
2、修改
update<表名>set<列名=更新值>[where<更新條件>]
--例:
updatetongxunluset年齡=18where姓名='藍色小名'
3、刪除
--3.1【刪除<滿足條件的>行】
deletefrom<表名>[where<刪除條件>]
--例:
deletefromawherename='開心朋朋'(刪除表a中列值為開心朋朋的行)
3.2【刪除整個表】
truncatetable<表名>
truncatetabletongxunlu
--注意:刪除表的所有行,但表的結構、列、約束、索引等不會被刪除;不能用語有外建約束引用的表