MySQL中可以將查詢結(jié)果復(fù)制到另外的一張表中,復(fù)制的話通常有兩種情況,一種是更新已有的數(shù)據(jù),另一種是插入一條新記錄。下面通過例子來說明。首先構(gòu)建兩個測試表。
表t1:
![](/d/20211018/94b2a7ad1d93552ce2e9f27c60adc9b5.gif)
表t2:
![](/d/20211018/eb85f2d2331923c6d2758044bbb52efc.gif)
1、如果t2表中存在score值,將score更新到t1表中。方法如下:
UPDATE t1,t2
SET t1.score = t2.score
WHERE t1.id = t2.id AND t2.score IS NOT NULL
這就是將查詢結(jié)果作為條件更新另一張表,當然,t2也可以是更為復(fù)雜的一個查詢結(jié)果而不是一個具體的表。
2、將t1表的username更新至t2表,將t2表的score更新至t1表。方法如下:
UPDATE t1,t2
SET t1.score = t2.score,t2.username = t1.username
WHERE t1.id = t2.id
這個方法其實跟上面的方法類似,可以同時更新兩個表的數(shù)據(jù),即做表部分數(shù)據(jù)的互相復(fù)制、更新。
3、將t2表的查詢結(jié)果插入到t1表中。方法如下:
INSERT INTO t1(id,username,score)
SELECT t2.id,t2.username,t2.score FROM t2 where t2.username = 'lucy'
前面兩種方式是更新表的記錄,這種方式是插入一條新的記錄。其實,從腳本可以看出,這個方法就是將查詢和插入兩個步驟合二為一。
以上就是小編為大家?guī)淼腗ySQL查詢結(jié)果復(fù)制到新表的方法(更新、插入)全部內(nèi)容了,希望大家多多支持腳本之家~
您可能感興趣的文章:- MySQL復(fù)制表的三種方式(小結(jié))
- Mysql復(fù)制表三種實現(xiàn)方法及grant解析
- Mysql將一個表中的某一列數(shù)據(jù)復(fù)制到另一個表中某一列里的方法
- MySQL不同表之前的字段復(fù)制
- Mysql數(shù)據(jù)表中的蠕蟲復(fù)制使用方法
- MySQL 復(fù)制表詳解及實例代碼
- mysql 復(fù)制表結(jié)構(gòu)和數(shù)據(jù)實例代碼
- MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程
- MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程
- Mysql復(fù)制表結(jié)構(gòu)、表數(shù)據(jù)的方法
- MySQL 復(fù)制表的方法