原無主鍵資料庫表去重覆記錄加主鍵約束

2021-10-20 23:52:46 字數 1092 閱讀 5791

select  * from table_name  ---檢視table_name所有記錄

select distinct * from table_name --檢視table_name  distinct所有記錄,主要是對比一下,有多少重覆記錄

select distinct * into #temp from  table_name  --將table_name  distinct所有記錄 放到臨時表

truncate table table_name --清空 table_name

--select distinct * into table_name from  #temp

insert into table_name  select * from #temp  --將臨時表資料恢復到table_name

drop table #temp --刪除臨時表

alter table table_name add constraint 列名  primary key (列名) --新增主鍵,兩個列名可以相同也可以不同,但primary key (列名)的列名一定是表中存在的,第乙個列名大概就是給人看的,沒有實質性的指向。

--新增主鍵的前提是,完成了要設定成主鍵的字段的去重,否則,無法設定

--在做正式工作之前,最好做個小測試

create table test_21(  --建立乙個測試表

id int not null,

name varchar(10)

)insert into test_21 values ('1','dajia1') --插入幾條資料

insert into test_21 values ('2','dajia')

insert into test_21 values ('3','dajia')

insert into test_21 (id,name) values ('4','dajia1')

select * from test_21  --檢視插入的資料

alter table test_21 add constraint tt primary key (id)  --新增主鍵約束

drop table test_21  刪除測試表

資料庫刪除重覆記錄

刪除重覆記錄 sql delete from wzh questions a where a.rowid select max rowid from lunar b where a.shuaho b.shuhao and a.tihao b.tihao 整理insert語句 select inser...

Oracle資料庫刪除表中重覆記錄的常見方法

方法一 delete from tb channel a where a.rowid in select max b.rowid from tb channle b where a.policyno b.policyno and a.classcode b.classcode 這一辦法在資料記錄超過...

Oracle資料庫刪除表中重覆記錄的常見方法

方法一 delete from tb channel a where a.rowid in select max b.rowid from tb channle b where a.policyno b.policyno and a.classcode b.classcode 這一辦法在資料記錄超過...