如果直接
select * into 目的資料庫名.dbo.目的表名 from 原表名
複製的話,可以完整的複製表,但是有乙個缺陷就是,表的主鍵和索引沒了。
想要完整複製一張表,可以在sql server如下操作:
1.使用查詢分析器或企業管理器生成要複製表的較完整的指令碼。所謂完整,要在指令碼選項中設定包括約束、自增加等所需指令碼。2.複製指令碼到儲存過程或查詢分析器,更改表名和約束名為新錶名和約束名。
3.執行指令碼。
4.使用insert into newtablename select * from oldtablename 將資料新增到新錶.
一般指令碼生成如下:if
exists (select
*from dbo.sysobjects where id =
object_id(n'
[dbo].[pwr_reading_daily_analysis]
') and
objectproperty(id, n'
isusertable
') =
1)drop
table
[dbo
].[pwr_reading_daily_analysis]go
create
table
[dbo
].[pwr_reading_daily_analysis
] ([
fread_date][
datetime
]not
null ,
[fptc_id][
int]
notnull ,
[ftype][
char
] (10) collate sql_latin1_general_cp1_ci_as null ,
[farea_count][
int]
null ,
[fconcentrator_count][
int]
null ,
[fmeter_count][
int]
null ,
[fcollector_count][
int]
null ,
[fresident_count][
int]
null ,
[fbroken_meter_count][
int]
null ,
[fstop_meter_count][
int]
null ,
[freading_count][
int]
null ,
[fnoreading_count][
int]
null ,
[freading_count_percent][
money
]null
) on
[primary]go
create
index
[ix_pwr_reading_daily_analysis]on
[dbo
].[pwr_reading_daily_analysis
]([fptc_id
]) with
fillfactor=90
on[primary]go
Mysql中資料表的完整複製
將 production 資料庫中的 mytbl 表快速複製為 mytbl new,2個命令如下 1 2create table mytbl new like production.mytbl insert mytbl new select from production.mytbl 第乙個命令是建...
MSSQL程式設計筆記二 表的連線查詢
1 inner join left join right join 之間的關係 inner join 只要在這兩個表的公共字段之中有相符值,內部聯接將組合兩個表中的記錄。注意 在乙個 inner join 之中,可以巢狀 left join 或 right join,但是在 left join 或 ...
SQL21日自學通筆記六 表的聯合
表的聯合包含 執行外部聯合 執行內部聯合 執行左聯合 執行右聯合 進行等值聯合 進行不等值聯合 1.兩表聯合。比如 select from table1,table2 如果table1有14行記錄,table2有6行,那麼兩表聯合記錄有14 6 84 2.等值聯合。比如 select from ta...