『壹』 sql 怎樣刪除一列中相同的數據
sql清除一列數據分為兩種情況,一種是將一列的數據清空,另一種是將某列名刪除。
工具:SQL
Server
2008
R2
表中數據如下:
一、將數據清空(刪除begin_date列的數據,使之為空)
update
test
set
begin_date=null;
執行後結果:
二、將列名刪除(刪除begin_date列,使之在表中不存在)
alter
table
test
drop
column
begin_date;
執行後結果(可發現begin_date列已經刪除):
『貳』 sql多表關聯刪除
刪除多表關聯數據的三種方法
1、級聯刪除
createtablea
(
idvarchar(20)primarykey,
passwordvarchar(20)notnull
)
createtableb
(
idintidentity(1,1)primarykey,
namevarchar(50)notnull,
userIdvarchar(20),
foreignkey(userId)referencesa(id)ondeletecascade
)
表B創建了外碼userId 對應A的主碼ID,聲明了級聯刪除
測試數據:
insertavalues('11','aaa')
insertavalues('23','aaa')
insertbvalues('da','11')
insertbvalues('das','11')
insertbvalues('ww','23')
刪除A表內id為『11』的數據,發現B表內userId 為「11」也被資料庫自動刪除了
deleteawhereid='11'
2、採用存儲過程
A表:AID Aname 主健:AID
B表:BID BelongAID Bname 主健:BID,外健:BelongAID
C表:CID BelongBID Cname 主健:CID,外健:BelongBID
D表:DID BelongCID Dname 主健:DID,外健:BelongCID
其中:
A表和B表通過A.AID和B.BelongAID 創建了外健關系
B表和C表通過B.BID和C.BelongBID 創建了外健關系
C表和D表通過C.CID和D.BelongCID 創建了外健關系
3、採用觸發器
刪除Class表中的一條記錄的同時刪除該記錄Class_No欄位值在Student表中對應的記錄。
CreateTriggerClass_delete
onClass
fordelete
as
begin
deletefromStudent
whereClass_No=(selectClass_Nofromdeleted)
end
『叄』 SQL如何刪除多表連接中的相同列(關聯列)
如果是刪除單個欄位重復可用in,如果是刪除多個欄位重復可用exists。
如表1數據:
id name age
1 張三 19
2 李四 20
3 王五 17
4 趙六 21
表2數據:
id name age
1 張三 19
2 李四 21
5 王五 14
如果刪除表1中id和表2相同的內容:
1
delete from 表1 where id in (select id from 表2)
如果刪除表1中id,name和age都與表2相同的數據
1
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name and 表1.age=表2.age)
『肆』 用sql語句進行多表連接查詢出現重復數據
1、在電腦上打開要去掉重復數據的資料庫,這里新建一張含有重復數據的user表。
『伍』 SQL 如何把兩個表相關聯的數據一同刪除
其實你這個問題最好用資料庫本身的外鍵解決。就是在子表建立指向父表的外鍵。當刪除主表數據時,只要加上delete語句加上 on cascade,所有子表引用的數據就刪除了。
『陸』 如何用SQL語句刪除兩個表中相同的記錄
1,首先創建一個表,並在表中插入重復的記錄,如下圖所示。
『柒』 sql leftjoin多表查詢,出現重復的數據,怎麼處理
sql left join多表查詢,出現重復的數據使用distinct關鍵字可以去重。
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。