MySQL 資料庫中如何把A表的資料插入到B表

2022-07-12 06:54:13 字數 1497 閱讀 9255

web開發中,我們經常需要將乙個表的資料插入到另外乙個表,有時還需要指定匯入字段,設定只需要匯入目標表中不存在的記錄,雖然這些都可以在程式中拆分成簡單sql來實現,但是用乙個sql的話,會節省大量**。

兩張表:inserttest和inserttest2,前者中有測試資料

create

table inserttest(id int(4),name

varchar(12));

insert

into inserttest values(100,'tom');

insert

into inserttest values(101,'tim');

insert

into inserttest values(102,'sam');

1.如果2張表的字段一致,並且希望插入全部資料,可以用這種方法:

insert into 目標表 select * from **表;

insert

into inserttest1 select * from inserttest2;

2.如果只希望匯入指定字段,可以用這種方法:

insert into 目標表 (欄位1, 欄位2, ...) select 欄位1, 欄位2, ... from **表;

一定要注意: 欄位的順序必須一致

insert

into inserttest1(id,name) select id,nickname from inserttest2;

3.如果您需要只匯入目標表中不存在的記錄,可以使用這種方法:

insert into 目標表  

(欄位1, 欄位2, ...)  

select 欄位1, 欄位2, ...  

from **表  

where not exists (select * from 目標表  

where 目標表.比較字段 = **表.比較字段);

1>.插入多條記錄:

insert

into inserttest2

(id,name)

select id,name

from inserttest

where

notexists (select * from inserttest2

where inserttest2.id=inserttest.id);

2>.插入一條記錄:

insert

into inserttest    

(id, name)    

select 100, 'susu'

from test

where

notexists (select * from inserttest    

where inserttest.id = 100);

使用 test 作表名,select 語句後面直接跟上要插入的字段的值。

MySQL資料庫中怎麼把表中的整列的字串換格式

資料庫中表的整列資料需要變動時,一條一條的改很麻煩,我們可以一條語句實現整列資料的變動,例如,資料庫表中的date欄位存的是2017 12 12的格式,我們需要變成2017 12 12的格式 需要把date欄位變成2017 12 12的格式 解決辦法 只需要一條sql語句 update indent...

把Excel表中的資料匯入資料庫

需求 在實現競價 時,需要把excel表中的資料週期地有條件地匯入到 位表中。這裡結合資料庫作業實現。步驟 1 生成乙個excel表 工作表名稱 website 包含的列 spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,s...

把Excel表中資料匯入資料庫

這是第二次了,市場部那邊又來要求改資料。他們要改的是資料庫某張表中類似商品 等的資料,需要改的地方又多,我們上次是靠新來的兄弟乙個個給update進去的,這次老大去教了他們update語句,把煩人的皮球踢給他們了。但這樣乙個個更新很明顯不是辦法,我想通過excel直接把資料匯入資料庫應該是可行的吧,...