1. 删除一张表中所有数据的方式?
1.truncate table命令将快速删除数据表中的所有记录
2.delete产生rollback,如果删除在数据量的表速度会很慢,同时会占用很多的rollback,segments.truncate是DLL操作,不产生 rollback,速度会快一些。
2. 用一条sql语句取出所有姓名有重复的学员姓名和重复的记录数.
select name, count(*) from student group by name
having count(*) > 1 order by count(*) desc;
3. 去除oracle数据库 表中重复数据应有如下两种方法:
方法一:创建新表删除旧表法
1)create table student1 as select distinct id, name, score from student;
2)drop table student;
3)rename student1 to student;
方法二:使用rowid(地址)伪列
删除伪列地址除了最大地址值以外的记录
delete from temp where rowid not in (select max(rowid) from temp group by id);
删除伪列地址除了最大地址值以外的记录
delete from temp where rowid not in (select min(rowid) from temp group by id);