以MySQL數(shù)據(jù)庫為例,通過SQL命令行將某個(gè)表的所有數(shù)據(jù)或指定字段的數(shù)據(jù),導(dǎo)入到目標(biāo)表中。此方法對于SQLServer數(shù)據(jù)庫,也就是T-SQL來說,同樣適用 。
在天元等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,天元網(wǎng)站建設(shè)費(fèi)用合理。
類別一、 如果兩張張表(導(dǎo)出表和目標(biāo)表)的字段一致,并且希望插入全部數(shù)據(jù),可以用這種方法:(此方法只適合導(dǎo)出兩表在同一database)
INSERT INTO 目標(biāo)表 SELECT * FROM 來源表;
例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實(shí)現(xiàn):
INSERT INTO newArticles SELECT * FROM articles;
類別二、 如果只希望導(dǎo)入指定字段,可以用這種方法:
INSERT INTO 目標(biāo)表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表;
請注意以上兩表的字段必須一致(字段類型),否則會出現(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ù)庫連接字符串用代碼拼接好 然后執(zhí)行上述您需要的sql語句 程序功能即可完成
將一個(gè)mysql數(shù)據(jù)庫中的一個(gè)表導(dǎo)入到另一個(gè)mysql數(shù)據(jù)庫中
db1為原數(shù)據(jù)庫,db2為要導(dǎo)出到的數(shù)據(jù)庫,fromtable 是要導(dǎo)出的表名
1.方法一:
登錄導(dǎo)出到的數(shù)據(jù)庫,執(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è)庫中。
思路:
創(chuàng)建能容納兩個(gè)表的新數(shù)據(jù)
create table table_name();
2.通過查詢并插入的方式
insert into table_name ?select * from tbl_name;
你的表是要合入一列還是要多列?你可以給出表的數(shù)據(jù)。
假設(shè)sdeg和zbug的表結(jié)構(gòu) 都是
ID varchar(4) primary key,
Name varchar(8),
Dept varchar(10),
存儲過程如下
CREATE PROCEDURE table_combine()
BEGIN
#第一步把sdeg和zbug兩個(gè)表進(jìn)行聯(lián)合輸出到臨時(shí)表tmp_tab中
create temporary table tmp_tab select * from sdeg union select * from zbut;
#第二步創(chuàng)建結(jié)果表sdut,并創(chuàng)建主鍵
create table sdut(ID varchar(4) primary key, Name varchar(8),Dept varchar(10));
#第三步把臨時(shí)表里面的重復(fù)數(shù)據(jù)過濾并寫入sdut
INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab;
#drop臨時(shí)表
drop table tmp_tab;
END