插入数据并删除重复
2009-05-12 13:55
721 查看
方法一:
IF OBJECT_ID('Student') IS NOT NULL DROP TABLE student
--如果表不是空的那么删除表
CREATE TABLE Student (Sno INT,Sname VARCHAR(4),Ssex VARCHAR(2),Sage INT,sdept VARCHAR(2))
--创建表Student
INSERT INTO [学生表]
SELECT 95001,'李勇','男',20,'CS' UNION ALL
SELECT 95002,'刘晨','女',19,'IS' UNION ALL
SELECT 95003,'王敏','女',18,'IS' UNION ALL
SELECT 95004,'张立','男',19,'MA' UNION ALL
SELECT 96001,'徐一','男',20,'IS' UNION ALL
SELECT 96002,'张三','女',21,'CS' UNION ALL
SELECT 96003,'李四','男',18,'IS'
--插入记录
方法二:
with 学生表1 as
(
SELECT 95001,'李勇','男',20,'CS' UNION ALL
SELECT 95002,'刘晨','女',19,'IS' UNION ALL
SELECT 95003,'王敏','女',18,'IS' UNION ALL
SELECT 95004,'张立','男',19,'MA' UNION ALL
SELECT 96001,'徐一','男',20,'IS' UNION ALL
SELECT 96002,'张三','女',21,'CS' UNION ALL
SELECT 96003,'李四','男',18,'IS'
)
insert into 学生表 select * from 学生表1
方法三:
declare @Student table (Sno int,Sname varchar(4),Ssex varchar(2),Sage int,sdept varchar(2))
insert into @Student
select 95001,'李勇','男',20,'CS' union all
select 95002,'刘晨','女',19,'IS' union all
select 95003,'王敏','女',18,'IS' union all
select 95004,'张立','男',19,'MA' union all
select 96001,'徐一','男',20,'IS' union all
select 96002,'张三','女',21,'CS' union all
select 96003,'李四','男',18,'IS'
select * from @Student
alter table Student add id int identity(1,1) --增加一个自增字段,使表具有一个唯一字段
delete from Student where id not in(select max(id) from Student group by Sname)--删除重复
alter table Student drop column id --删除自增字段,恢复原表结构
select * from Student order by Sno;--根据编号排序显示
IF OBJECT_ID('Student') IS NOT NULL DROP TABLE student
--如果表不是空的那么删除表
CREATE TABLE Student (Sno INT,Sname VARCHAR(4),Ssex VARCHAR(2),Sage INT,sdept VARCHAR(2))
--创建表Student
INSERT INTO [学生表]
SELECT 95001,'李勇','男',20,'CS' UNION ALL
SELECT 95002,'刘晨','女',19,'IS' UNION ALL
SELECT 95003,'王敏','女',18,'IS' UNION ALL
SELECT 95004,'张立','男',19,'MA' UNION ALL
SELECT 96001,'徐一','男',20,'IS' UNION ALL
SELECT 96002,'张三','女',21,'CS' UNION ALL
SELECT 96003,'李四','男',18,'IS'
--插入记录
方法二:
with 学生表1 as
(
SELECT 95001,'李勇','男',20,'CS' UNION ALL
SELECT 95002,'刘晨','女',19,'IS' UNION ALL
SELECT 95003,'王敏','女',18,'IS' UNION ALL
SELECT 95004,'张立','男',19,'MA' UNION ALL
SELECT 96001,'徐一','男',20,'IS' UNION ALL
SELECT 96002,'张三','女',21,'CS' UNION ALL
SELECT 96003,'李四','男',18,'IS'
)
insert into 学生表 select * from 学生表1
方法三:
declare @Student table (Sno int,Sname varchar(4),Ssex varchar(2),Sage int,sdept varchar(2))
insert into @Student
select 95001,'李勇','男',20,'CS' union all
select 95002,'刘晨','女',19,'IS' union all
select 95003,'王敏','女',18,'IS' union all
select 95004,'张立','男',19,'MA' union all
select 96001,'徐一','男',20,'IS' union all
select 96002,'张三','女',21,'CS' union all
select 96003,'李四','男',18,'IS'
select * from @Student
alter table Student add id int identity(1,1) --增加一个自增字段,使表具有一个唯一字段
delete from Student where id not in(select max(id) from Student group by Sname)--删除重复
alter table Student drop column id --删除自增字段,恢复原表结构
select * from Student order by Sno;--根据编号排序显示
相关文章推荐
- 删除重复记录,保留数据库中最新插入的数据(或最早插入的数据)
- 向表中插入数据的时候,自动删除重复的数据
- MySQL不插入重复数据与删除重复数据
- MySQL不插入重复数据与删除重复数据
- mysql学习总结一当数据不存在的时候插入,存在的时候进行更新,删除重复数据
- mysql插入数据与删除重复记录的几个例子(收藏)
- Mybatis+Oracle批量插入(自动过滤重复数据)与删除
- DataTable插入数据,删除重复记录
- 根据ora_rowscn删除重复插入的数据
- ORACLE快速插入一千万初始数据和删除重复数据
- 4000 修改CSpreadSheet commit函数,让其插入新行时不再重复删除 创建 写数据
- 向表中插入数据的时候,自动删除重复的数据
- 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
- phoenix建表列名重复,导致无法删除表格且修改,插入数据。
- 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
- Vue.js之在数组中插入重复数据
- NetApp FAS Filer的重复数据删除
- 怎样删除c3、c4重复的数据但要留下其中任意一条
- MySQL的一些基本语法(8)-插入更新和删除数据
- Excel怎样查找删除重复数据