欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL從一個(gè)表中查出數(shù)據(jù)并插入到另一個(gè)表的詳細(xì)處理方案

 更新時(shí)間:2023年12月22日 09:58:52   作者:jerry-89  
這篇文章主要給大家介紹了關(guān)于MySQL從一個(gè)表中查出數(shù)據(jù)并插入到另一個(gè)表的詳細(xì)處理方案,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

PS:來(lái)源表:t_source、目標(biāo)表:t_target

第一種

來(lái)源表和目標(biāo)表字段完全一致

insert into t_target  select * from t_source;

第二種

來(lái)源表和目標(biāo)表字段部分一致,只想導(dǎo)入來(lái)源表部分字段到目標(biāo)表

insert into t_target(字段1,字段2,字段3, ...)  
select 字段1,字段2,字段3, ... from t_source;

第三種

只需要導(dǎo)入目標(biāo)表中不存在的數(shù)據(jù)

insert into t_target (字段1, 字段2, ...)  
 SELECT 字段1, 字段2, ...  FROM t_source  
 WHERE not exists (select * from t_target 
 where t_target.比較字段 = t_source.比較字段); 

下面是一個(gè)完整的示例,展示了如何將一張名為 source_table 的源表的數(shù)據(jù)更新到一張名為 target_table 的目標(biāo)表:

-- 創(chuàng)建目標(biāo)表
CREATE TABLE target_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT
);

-- 確定連接條件
ALTER TABLE target_table ADD COLUMN source_table_id INT;

UPDATE target_table
SET source_table_id = source_table.id
FROM target_table
INNER JOIN source_table
ON target_table.name = source_table.name;

-- 更新數(shù)據(jù)
UPDATE target_table
INNER JOIN source_table
ON target_table.source_table_id = source_table.id
SET target_table.age = source_table.age;

以上是一個(gè)簡(jiǎn)單的示例,你可以根據(jù)實(shí)際情況進(jìn)行修改和擴(kuò)展。

總結(jié)

通過(guò)以上步驟,我們可以將一張表的數(shù)據(jù)更新到另一張表。首先,我們需要?jiǎng)?chuàng)建一個(gè)目標(biāo)表來(lái)接收數(shù)據(jù),然后確定源表和目標(biāo)表之間的連接條件,最后使用 UPDATE 語(yǔ)句將數(shù)據(jù)更新到目標(biāo)表。

附:MySQL查詢結(jié)果復(fù)制到新表的方法(更新、插入)

MySQL中可以將查詢結(jié)果復(fù)制到另外的一張表中,復(fù)制的話通常有兩種情況,一種是更新已有的數(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

這就是將查詢結(jié)果作為條件更新另一張表,當(dāng)然,t2也可以是更為復(fù)雜的一個(gè)查詢結(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í)跟上面的方法類似,可以同時(shí)更新兩個(gè)表的數(shù)據(jù),即做表部分?jǐn)?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'

前面兩種方式是更新表的記錄,這種方式是插入一條新的記錄。其實(shí),從腳本可以看出,這個(gè)方法就是將查詢和插入兩個(gè)步驟合二為一。

用一個(gè)表更新另一個(gè)表

1、更新一個(gè)字段

方法一

   update table1 set field1=table2.field1 from table2
    where table1.id=table2.id

方法二

將兩張表以內(nèi)連接的方式進(jìn)行查詢更新

 UPDATE tableName1 t1
    LEFT JOIN tableName2 t2 ON t2.id = t1.id 
    SET t1.lpEntityType2 = t2.lpEntityType2 

方法三

update A m,B mp set m.job_type = mp.job_type where mp.mobile= m.mobile;

2、更新多個(gè)字段

方法一

   update B, A
    set 
        B.username = A.username,
        B.phone = A.phone
    where 
        B.userId = A.userId

方法二

將兩張表以內(nèi)連接的方式進(jìn)行查詢更新

update 
    B join A on B.userId=A.userId
set 
    B.username = A.username,
    B.phone = A.phone 

MYSQL 更新一個(gè)表字段為另外一張表字段

1、UPDATE m_node_device mnd SET mnd.enterprise_id = (SELECT md.enterprise_id FROM m_device md WHERE mnd.device_id = md.id)

2、--     更新表字段為查詢結(jié)果中的某一個(gè)字段

UPDATE m_device md,
(
SELECT
    mi.img_url AS aa,
    mi.device_id AS bb 
FROM
    m_device_img mi
    INNER JOIN m_device_type_attr ma ON ma.id = mi.device_type_attr_id 
WHERE
    ma.attr_name = '設(shè)備銘牌' 
    ) b 
    SET md.nameplate_img = b.aa 
WHERE
    md.id = b.bb 
    AND md.nameplate_img = '' and md.is_deleted = 0

到此這篇關(guān)于MySQL從一個(gè)表中查出數(shù)據(jù)并插入到另一個(gè)表的詳細(xì)處理方案的文章就介紹到這了,更多相關(guān)MySQL查出數(shù)據(jù)插入另一個(gè)表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 徹底解決MySQL使用中文亂碼的方法

    徹底解決MySQL使用中文亂碼的方法

    本文詳細(xì)講解了徹底解決MySQL使用中文亂碼的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • MySQL數(shù)據(jù)表字段操作指南之添加、修改與刪除方法

    MySQL數(shù)據(jù)表字段操作指南之添加、修改與刪除方法

    這篇文章主要介紹了MySQL中使用ALTER TABLE語(yǔ)句修改數(shù)據(jù)表結(jié)構(gòu)的方法,包括添加、修改和刪除字段,通過(guò)實(shí)例演示了如何高效地管理數(shù)據(jù)表結(jié)構(gòu),需要的朋友可以參考下
    2024-12-12
  • MySQL數(shù)據(jù)定義語(yǔ)言DDL的基礎(chǔ)語(yǔ)句

    MySQL數(shù)據(jù)定義語(yǔ)言DDL的基礎(chǔ)語(yǔ)句

    這篇文章主要介紹了MySQL數(shù)據(jù)定義語(yǔ)言DDL的基礎(chǔ)語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • MYSQL批量UPDATE的兩種方式小結(jié)

    MYSQL批量UPDATE的兩種方式小結(jié)

    本文主要介紹了兩種MySQL批量UPDATE的方式,SQL的foreach循環(huán)和使用INSERT...ON?DUPLICATE?KEY?UPDATE,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • MySql利用父id遞歸向下查詢子節(jié)點(diǎn)的方法實(shí)例

    MySql利用父id遞歸向下查詢子節(jié)點(diǎn)的方法實(shí)例

    項(xiàng)目中遇到一個(gè)需求,要求查處菜單節(jié)點(diǎn)的所有節(jié)點(diǎn),在網(wǎng)上查了一下,大多數(shù)的方法用到了存儲(chǔ)過(guò)程,由于線上環(huán)境不能隨便添加存儲(chǔ)過(guò)程,所以自己寫一個(gè),這篇文章主要給大家介紹了關(guān)于MySql利用父id遞歸向下查詢子節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • linux下使用RPM安裝mysql5.7.17

    linux下使用RPM安裝mysql5.7.17

    這篇文章主要為大家詳細(xì)介紹了linux下使用RPM安裝mysql5.7.17的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • MySQL數(shù)據(jù)庫(kù)線上修改表結(jié)構(gòu)的方法

    MySQL數(shù)據(jù)庫(kù)線上修改表結(jié)構(gòu)的方法

    MySQL有一個(gè)把鎖,叫做MDL元數(shù)據(jù)鎖,當(dāng)對(duì)表修改的時(shí)候,會(huì)自動(dòng)給表加上這把鎖,也就是不需要自己顯式使用,這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)線上修改表結(jié)構(gòu)的方法,需要的朋友可以參考下
    2022-09-09
  • MySQL安全配置向?qū)ysql_secure_installation詳解

    MySQL安全配置向?qū)ysql_secure_installation詳解

    這篇文章主要介紹了MySQL安全配置向?qū)ysql_secure_installation各項(xiàng)配置的含義,并依據(jù)經(jīng)驗(yàn)給予一了一些建議,需要的朋友可以參考下
    2014-03-03
  • MySql UNION 一行轉(zhuǎn)多列的實(shí)現(xiàn)示例

    MySql UNION 一行轉(zhuǎn)多列的實(shí)現(xiàn)示例

    在MySQL命令行中,有時(shí)候我們會(huì)遇到一行的數(shù)據(jù)需要以多列的形式呈現(xiàn)的情況,本文就詳細(xì)介紹了一下一行轉(zhuǎn)多列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Truncate Table的用法講解

    Truncate Table的用法講解

    今天小編就為大家分享一篇關(guān)于Truncate Table的用法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04

最新評(píng)論