--類別一、 如果兩張張表(匯出表和目標表)的字段一致,並且希望插入全部資料
insert
into 目標表 select
*from **表;
-- 類別二:匯入指定字段,注意兩表的字段必須一致,否則會出現資料轉換錯誤
insert
into 目標表 (欄位1
, 欄位2,.
..)select欄位1
, 欄位2,.
..from **表 ;
=
1.全量
比如要將 articles 表插入到 newarticles 表中,則是:
insert
into newarticles select
*from articles;
2.指定字段
如果只希望匯入指定字段,可以用這種方法:
insert
into 目標表 (欄位1
, 欄位2,.
..)select 欄位1
, 欄位2,.
..from **表;
【案例】:
表結構
現在有使用者表和使用者實名認證表,user_info,user_card。問題user_info中的字段有user_id,user_name 。
user_card中的字段有user_id,user_card,user_name 。
其中user_name為使用者實名認證的資訊,user_info中做了字段冗餘。
使用者表user_info中的user_name和user_card中的user_name不同步。解決方案user_card中有值,user_info中沒有值。
需要將user_card中的user_name同步到user_info中去。
(1)通過**查詢出user_info中 user_name 為空的資料 ,然後通過user_id查詢出使用者實名認證的資料進行同步 。
select user_id from user_info where user_name ='';
select
*from user_card where user_id in
(上面的結果集)
;
(2)聯表查詢後更新資料select
c.user_id ,
c.user_name
from
user_info as u
left
join user_card as c on u.user_id = c.user_id
where
u.user_name =
'';
(3)通過mysql內聯更新資料先寫出更新語句
update
`user_info`
as u set u.user_name =
'結果集'
;
再獲取條件結果集
select
c.user_id ,
c.user_name
from
user_info as u
left
join user_card as c on u.user_id = c.user_id
where
u.user_name =
'';
最後內聯更新
update
`user_info`
as u
inner
join
(select
c.user_id ,
c.user_name
from
user_info as u
left
join user_card as c on u.user_id = c.user_id
where
u.user_name ='';
)as r on u.user_id = r.user_id set u.user_name = r.user_name ;
MySQL將查詢結果插入到資料表中
mysql教程 insert語句還可以將select語句查詢出來的資料插入到另乙個表中,即可快速地從乙個或多個表中向乙個表中插入多個行。這樣,可以方便不同表之間進行資料交換。基本的語法格式如下 insert into 表名1 字段列表1 select 字段列表2 from 表名2 where 條件表...
MySQL將查詢結果插入到資料表中
基本的語法格式如下 insert into 表名1 字段列表1 select 字段列表2 from 表名2 where 條件表示式 將 表名2 中查詢出來的記錄插入到 表名1 中以後,表名2 中仍然儲存著原來的記錄。例項1 將stu資料表中所有的記錄插入到student資料表中。sql語句如下 my...
MySQL將查詢結果插入到資料表中
insert語句還可以將select語句查詢出來的資料插入到另乙個表中,即可快速地從乙個或多個表中向乙個表中插入多個行。這樣,可以方便不同表之間進行資料交換。基本的語法格式如下 insert into 表名1 字段列表1 select 字段列表2 from 表名2 where 條件表示式 將 表名2...