DBMNG数据库管理与应用

抓住自己最有兴趣的东西,由浅入深,循序渐进地学……
当前位置:首页 > SQLServer > 基础知识

SQLServer中用sql语句复制表中的所有行插入到表的后面(主键自增)

例如

表:student(id,name,sex.age),id主键自增

把表中纪录复制再插入到这个表后面
insert into student select name,sex,age from student;
原则,除自增列外的所有列都要写出,注意查询字段的顺序和表对应,要不如下:
insert into student(sex,name,age) select sex,name,age from student;
查询字段和插入字段对应

另,删除重复的行的语句:
delete from student where id in (select a.id id from student a,student b where a.name=b.name and a.sex = b.sex and a.age=b.age and a.id<>b.id)
其中查询语句为查出所有重复纪录的id
select a.id id from student a,student b where a.name=b.name and a.sex = b.sex and a.age=b.age and a.id<>b.id
原则除主建外所有字段都要相等
and a.id<>b.id ,这个不加就会把正个表的数据算重复
因为a和b都是student表,自己和自己比当然什么都一样,

and a.id<>b.id 就是和自己外的其他纪录比。


测试运行环境:

SQLServer2000和SQLServer2005。

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号