復(fù)制表結(jié)構(gòu)和表數(shù)據(jù),但是有一個(gè)弊端,復(fù)制的表結(jié)構(gòu)的說明和主外建和索引都沒有被復(fù)制過來
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)公安,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
create table new_tablename as select * from tablename
new_tablename :復(fù)制后的新表名
tablename:被復(fù)制的表名
表存在的話
insert?into?新表(字段1,字段2,字段3……)?select?字段1,字段2,字段3……?from?舊表
表不存在的話
create?table?新表?as?select?字段1,字段2,字段3……?from?舊表
以及如何復(fù)制相關(guān)表的結(jié)構(gòu)又復(fù)制表中的數(shù)據(jù)sql。以下就是相關(guān)內(nèi)容的具體介紹,望你瀏覽完以下的內(nèi)容會(huì)有所收獲。如下,表a是數(shù)據(jù)庫(kù)中已經(jīng)存在的表,b是準(zhǔn)備根據(jù)表a進(jìn)行復(fù)制創(chuàng)建的表:1、只復(fù)制表結(jié)構(gòu)的sqlcreate?table?b?as?select?*?from?a?where?11? 以上語(yǔ)句雖然能夠很容易的根據(jù)a表結(jié)構(gòu)復(fù)制創(chuàng)建b表,但是a表的索引等卻復(fù)制不了,需要在b中手動(dòng)建立。5、insert into 會(huì)將查詢結(jié)果保存到已經(jīng)存在的表中insert?into?t2(column1,?column2,?....)
1、如圖:SQLSERVER 復(fù)制表數(shù)據(jù) 直接應(yīng)用select? into 。
2、SQLSERVER復(fù)制表結(jié)構(gòu) 加上條件 where 1=0。如圖:
3、ORACLE復(fù)制表數(shù)據(jù),需要使用create。如圖所示:
4、ORACLE復(fù)制表結(jié)構(gòu)?加上條件 where 1=0。如圖所示:
5、ACCESS復(fù)制表數(shù)據(jù) 與SQLSERVER相同。如下圖:
6、ACCESS復(fù)制表結(jié)構(gòu)?加上條件 where 1=0 也與SQLSERVER相同。如下圖:
insert into gl_acc_item select * from gl_acc_item20100706 t where t.fiscal ='2010' and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)1 and t.gl_item_code not like '2%';
要修改數(shù)據(jù),那么就需要把*換成具體字段,并用'2009'代替fiscal字段,
比如總共有acc_item_code、fiscal、id、name等幾列,就要寫成:
insert into gl_acc_item select acc_item_code,'2009',id,name from gl_acc_item20100706 t where t.fiscal ='2010' and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)1 and t.gl_item_code not like '2%';
可用如下方法復(fù)制:
如果新表不存在:
比如有一張表叫test,現(xiàn)在要復(fù)制表結(jié)構(gòu)及表內(nèi)數(shù)據(jù),可執(zhí)行代碼:
create?table?test?as?select?*?from?test;
這樣就把表結(jié)構(gòu)連同數(shù)據(jù)一起復(fù)制了。
如果表存在,可用以下代碼:
insert?into?test1?select?*?from?test;
commit;