如何复制表
数据库_sqlserver 2011-03-21 09:37:09 阅读17 评论0 字号:大中小 订阅
SQL2005
- 1、说明:复制表(只复制结构,源表名:a 新表名:b)
- 法一:select * into b from a where 1 <>1
- 法二:select top 0 * into b from a
- 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b)
- insert into b(a, b, c) select d,e,f from a;
在SQL SERVER 中有现个数据库DATAHR及DEMO,它们的结构是一样,其它有一个表名为:GBITEM.
现在想将DEMO数据库的表名:GBITEM的全部内容复制到DATAHR数据库的表名为:GBITEM中。此T-SQL语句应该怎么写?
如果目的表已经存在:
insert into DATAHR.DBO.GBITEM
select * from DEMO.DBO.GBITEM
如果目的表不存在:
select * into DATAHR.DBO.GBITEM
from DEMO.DBO.GBITEM
Oracle
- 1. 复制表结构及其数据:
- create table table_name_new as select * from table_name_old
- 2. 只复制表结构:
- create table table_name_new as select * from table_name_old where 1=2;
- 或者:
- create table table_name_new like table_name_old
- 3. 只复制表数据:
- 如果两个表结构一样:
- insert into table_name_new select * from table_name_old
- 如果两个表结构不一样:
- insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
MySql
- 1.复制表结构及数据到新表
- CREATE TABLE 新表
- SELECT * FROM 旧表
- 2.只复制表结构到新表
- CREATE TABLE 新表
- SELECT * FROM 旧表 WHERE 1=2
- 即:让WHERE条件不成立.
- CREATE TABLE 新表
- LIKE 旧表 //tianshibao
- 3.复制旧表的数据到新表(假设两个表结构一样)
- INSERT INTO 新表
- SELECT * FROM 旧表
- 4.复制旧表的数据到新表(假设两个表结构不一样)
- INSERT INTO 新表(字段1,字段2,.......)
- SELECT 字段1,字段2,...... FROM 旧表