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