怎么樣合并??jī)蓚€(gè)表字段是否一致?
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)成都工商代辦等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站營(yíng)銷優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
如果只是讀取的話,可以加個(gè)視圖,用union拼接
select column from a
union
select column from b
使用預(yù)處理語(yǔ)句,如:
SET @pddl = concat('select * from user', @var);
PREPARE stmt FROM @pddl;/*定義預(yù)處理語(yǔ)句*/
EXECUTE stmt;/*執(zhí)行預(yù)處理語(yǔ)句*/
DEALLOCATE PREPARE stmt;/*釋放預(yù)處理語(yǔ)句*/
使用預(yù)處理語(yǔ)句,如:
SET
@pddl
=
concat('select
*
from
user',
@var);
PREPARE
stmt
FROM
@pddl;/*定義預(yù)處理語(yǔ)句*/
EXECUTE
stmt;/*執(zhí)行預(yù)處理語(yǔ)句*/
DEALLOCATE
PREPARE
stmt;/*釋放預(yù)處理語(yǔ)句*/
以MySQL數(shù)據(jù)庫(kù)為例,通過(guò)SQL命令行將某個(gè)表的所有數(shù)據(jù)或指定字段的數(shù)據(jù),導(dǎo)入到目標(biāo)表中。此方法對(duì)于SQLServer數(shù)據(jù)庫(kù),也就是T-SQL來(lái)說(shuō),同樣適用 。
類別一、 如果兩張張表(導(dǎo)出表和目標(biāo)表)的字段一致,并且希望插入全部數(shù)據(jù),可以用這種方法:(此方法只適合導(dǎo)出兩表在同一database)
INSERT INTO 目標(biāo)表 SELECT * FROM 來(lái)源表;
例如,要將 articles 表插入到 newArticles 表中,則可以通過(guò)如下SQL語(yǔ)句實(shí)現(xiàn):
INSERT INTO newArticles SELECT * FROM articles;
類別二、 如果只希望導(dǎo)入指定字段,可以用這種方法:
INSERT INTO 目標(biāo)表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來(lái)源表;
請(qǐng)注意以上兩表的字段必須一致(字段類型),否則會(huì)出現(xiàn)數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤。
1、跨服務(wù)器復(fù)制表中數(shù)據(jù)
insert into openrowset('sqloledb','localhost';'sa';'123',Test.dbo.Table_B)
select * from Test.dbo.Table_A
//啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
//使用完成后,關(guān)閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
2、//不跨服務(wù)器
insert into dbo.Table_B) select * from dbo.Table_A
將表名和數(shù)據(jù)庫(kù)連接字符串用代碼拼接好 然后執(zhí)行上述您需要的sql語(yǔ)句 程序功能即可完成
將一個(gè)mysql數(shù)據(jù)庫(kù)中的一個(gè)表導(dǎo)入到另一個(gè)mysql數(shù)據(jù)庫(kù)中
db1為原數(shù)據(jù)庫(kù),db2為要導(dǎo)出到的數(shù)據(jù)庫(kù),fromtable 是要導(dǎo)出的表名
1.方法一:
登錄導(dǎo)出到的數(shù)據(jù)庫(kù),執(zhí)行
create table fromtable select * from db1.fromtable;
2.方法二:
在cmd下執(zhí)行,mysqldump -u root -p db1 fromtable file=d:/fromtable.sql; 輸入秘密,root為用戶名
登錄db2 執(zhí)行 source d:/fromtable.sql;
3.方法三:
登錄db1 執(zhí)行 select * from fromtable into outfile "d:/fromtable .txt"; 導(dǎo)出純數(shù)據(jù)格式
登錄db2 執(zhí)行 load data infile d:/fromtable .txt into table fromtable; 需要先建一張和原表結(jié)構(gòu)一樣的空表。
4.建一個(gè)odbc連接,先導(dǎo)出到access中,再導(dǎo)出到另一個(gè)庫(kù)中。
select * form ( select * from 表A union all select * form 表B) t order by t.評(píng)論時(shí)間 desc這樣你試試