1、忽略表之間的關(guān)聯(lián)關(guān)系

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了福鼎免費(fèi)建站歡迎大家使用!
ALTER TABLE db2.dbo.table NOCHECK CONSTRAINT 關(guān)系名
2、--將沒(méi)有重復(fù)的數(shù)據(jù)合并
insert into db2.dbo.table(field1,field2...) select field1,field2... from db1.dbo.table a where a.username not in (select username from db2.dbo.table)
3、將重復(fù)的數(shù)據(jù)寫入臨時(shí)表
select field1,field2... into 新的臨時(shí)表 from db1.dbo.table a where a.username in (select username from db2.dbo.table)
假設(shè)sdeg和zbug的表結(jié)構(gòu) 都是
ID varchar(4) primary key,
Name varchar(8),
Dept varchar(10),
存儲(chǔ)過(guò)程如下
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ù)過(guò)濾并寫入sdut
INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab;
#drop臨時(shí)表
drop table tmp_tab;
END
MySQL InnoDB 表數(shù)據(jù)頁(yè)或者二級(jí)索引頁(yè)(簡(jiǎn)稱數(shù)據(jù)頁(yè)或者索引頁(yè))的合并與分裂對(duì) InnoDB 表整體性能影響很大;數(shù)據(jù)頁(yè)的這類操作越多,對(duì) InnoDB 表數(shù)據(jù)寫入的影響越大。
MySQL 提供了一個(gè)數(shù)據(jù)頁(yè)合并臨界值(MERGE_THRESHOLD),在某些場(chǎng)景下,可以人為介入,減少數(shù)據(jù)頁(yè)的合并與分裂。
在 InnoDB 表里,每個(gè)數(shù)據(jù)頁(yè)默認(rèn)16K 大小,默認(rèn) MERGE_THRESHOLD 值為 50,取值范圍從 1 到 50,默認(rèn)值即是最大值。也就是當(dāng)頁(yè)面記錄數(shù)占比小于 50% 時(shí),MySQL 會(huì)把這頁(yè)和相鄰的頁(yè)面進(jìn)行合并,保證數(shù)據(jù)頁(yè)的緊湊,避免太多浪費(fèi)。
要將兩表合并,必須要有相同的字段和字段數(shù)據(jù),ID主鍵自動(dòng)增加無(wú)疑是最好的選擇。
所以,在兩個(gè)表中,都應(yīng)該有id主鍵自動(dòng)增加的字段。
然后就是下面的sql語(yǔ)句執(zhí)行了:
我是sql初學(xué)者。
解決你的問(wèn)題前我想問(wèn)下,兩個(gè)表有沒(méi)有主鍵,更新數(shù)據(jù)是依據(jù)id還是姓名。
兩個(gè)表如果每個(gè)人的id是唯一并且相同則可以根據(jù)id更新,嘗試以下sql語(yǔ)句:
update b1 set b1.score=b2.score
from b1, b2
where b1.id=b2.id
更新姓名只需把score改為name
文章標(biāo)題:mysql怎么把2個(gè)表合 mysql 兩個(gè)表合并
轉(zhuǎn)載注明:http://chinadenli.net/article20/hjepjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)、App開(kāi)發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)