经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
SQL Server 复制表结构以及数据,去除表中重复字段
来源:cnblogs  作者:正月雨  时间:2019/4/24 11:20:19  对本文有异议

--复制另一个数据库中的某张表的结构及数据
--select * from Test.dbo.TestTable(查询表中所有数据)
--into [表名] 插入当前数据库新表,如果没有该表就创建

select * into TestCopy from Test.dbo.TestTable

--只复制表结构(1!=1等价于1<>1,只要where后的为false就可以)
--把查询出的数据插入到新表,如果没有数据就只是复制表结构了
select * into TestCopy from Test.dbo.TestTable where 1!=1

--into #[表名]  #代表临时表
select * into #TestCopy from Test.dbo.TestTable

--复制某个字段到新表(字段名相同)
select TestID into TestCopy from Test.dbo.TestTable

--复制某个字段到新表(字段名不同)
--下面的写法不正确,可能插入某一个字段时表必须存在
select TestID into TestCopy1(TestCopy1ID) from Test.dbo.TestTable

--复制某个字段到新表(重新命名字段名)
--在查询时使用别名新表中的字段名是别名而不是本名
select TestID as TestCopyID into TestCopy1 from Test.dbo.TestTable

--上面是新表不存在的时候,当表存在时
insert into TestCopy1 select * from Test.dbo.TestTable

--插入一个字段的数据到新表(可以插入到别的字段中去)
insert into TestCopy1(TestName) select TestID from Test.dbo.TestTable

--复制同一张表中数据(没有主键,复制的数据在上面不在下面)
insert into TestCopy(testID) select testName from TestCopy

 

 

--去除表中重复字段
--row_number() over 统计相同的字段并给每条数据加上一个标号,>1代表重复数据,删除掉>1的数据

delete t from
(select row_number() over (partition by testID,testName,price order by testID) as p1,* from TestCopy) as t
where t.p1>1

 

原文链接:http://www.cnblogs.com/privategardens/p/10761009.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号