达梦数据库中如何删除重复数据

在数据库运维中,当遇到表中存在重复数据时,可以通过SQL语句进行清理。本文提供了一个在中标麒麟6.0操作系统上,使用DM8数据库系统的示例,演示了如何创建测试表并插入重复数据,然后利用SQL查询删除重复记录,只保留一条,确保数据的正确性和完整性。操作包括创建表、插入重复数据和执行删除语句。
摘要由CSDN通过智能技术生成

我们在数据库运维环境中有时会出现需删除表中重复数据的情况,比如说,导入时重复导入了,这时候我们怎么办?如何删除重复的数据,保证数据的正确性和完整性?

测试环境:

操作系统:中标麒麟6.0

数据库系统:DM8

1

我们先来创建一张测试表test

SQL>create table test(id int,name varchar(50));

2

手动在表test中添加重复记录

insert into test values(1,'aaa');insert into test values(1,'aaa');insert into test values(2,'bbb');insert into test values(2,'bbb');insert into test values(3,'ccc');insert into test values(3,'ccc');insert into test values(4,'ddd');commit;select * from test;

3

使用简单的sql语句删除重复记录多余部分只保留一条

​​​​​​​​​​​​​​

delete from test awhere    (a.id,a.name) in(select id,name from test group by id,name having count(*) > 1)    and rowid not in (select min(rowid) from test group by id,name having count(*)>1);commit;

执行完成,我们commit提交一下。然后我们再去看看test表里面的重复数据是不是都删除了呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值