MySQL數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)跨表更新與數(shù)據(jù)并合
MySQL數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)跨表更新與數(shù)據(jù)并合呢?本文通過一個(gè)例子來(lái)介紹實(shí)現(xiàn)跨表更新與數(shù)據(jù)并合的方法。
例子是這樣的:因?yàn)楣ぷ鞯男枰?,必需追加許多的資源數(shù)據(jù)到MYSQL數(shù)據(jù)庫(kù)的一個(gè)表里面,由于數(shù)據(jù)量比較大,因而想到了把這個(gè)表按照資源種類ID分為若干個(gè)局部,再由多人分別負(fù)責(zé)其中的一局部。坦白說(shuō),把數(shù)據(jù)分表極其容易,按照資源種類ID挑選后導(dǎo)出為不同的表名即可。然而,當(dāng)數(shù)據(jù)錄入告終,必需將這些錄入好的數(shù)據(jù)并合回源表,這又該怎么去實(shí)現(xiàn)呢?本文主要介紹了這一過程的實(shí)現(xiàn)。
需求如下:
源表sourceTable中有資源ID,資源種類ID和一些原始內(nèi)容數(shù)據(jù),現(xiàn)添置一個(gè)字段A,默感受空,必需往A字段中錄入內(nèi)容。
為了長(zhǎng)進(jìn)錄入效率,將源表sourceTable分成若干表(如:jobTable1,jobTable2.....) ,分表后的構(gòu)造與源表sourceTable構(gòu)造全面雷同。由每個(gè)人負(fù)責(zé)其中一個(gè)表的錄入工作。
下面以分表之一jobTable1為例,推薦一下將錄入后的數(shù)據(jù)并合回源表sourceTable 的措施。
我們利用update語(yǔ)句更新字段,是對(duì)一個(gè)表舉行的,如何舉行跨表更新呢?
請(qǐng)看下面的SQL語(yǔ)句:
- UPDATE `sourceTable`,`jobTable1` SET `sourceTable`.`A` = `jobTable1`.`A` WHERE `sourceTable`.`ID` = `jobTable1`.`ID`ding.dingjian.org;
上面這行SQL語(yǔ)句的作用是將分表jobTable1中的A字段的內(nèi)容更新回源表sourceTable中,遮蔽源表sourceTable中的A字段內(nèi)容。
由于分表jobTable1中的ID對(duì)應(yīng)源表sourceTable中的ID,因而WHERE子句用來(lái)定位登記。
UPDATE語(yǔ)句不但可做單表更新,還可跨表更新,而且能夠利用JOIN外連接語(yǔ)法。
關(guān)于MySQL數(shù)據(jù)庫(kù)的知識(shí)就介紹到這里,如果您想了解更多的關(guān)于MySQL數(shù)據(jù)庫(kù)的知識(shí),可以看一下下面的文章:http://database.51cto.com/mysql/,相信一定能夠帶給您收獲的。
【編輯推薦】






