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

mysql如何將查詢結(jié)果插入到另一張表中

 更新時間:2023年10月12日 10:22:25   作者:飛廉灬少將  
這篇文章主要介紹了mysql如何將查詢結(jié)果插入到另一張表中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

mysql將查詢結(jié)果插入到另一張表中

INSERT INTO

(1) 如果兩張表(導出表和目標表)的字段一致,并且希望插入全部數(shù)據(jù),可以用這種方法:

INSERT INTO 目標表 SELECT * FROM 來源表 WHERE 條件;

例:要將 student表插入到 newStudent 表中,則可以通過如下SQL語句實現(xiàn):

INSERT INTO newStudent SELECT * FROM student;

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

INSERT INTO 目標表(字段1,字段2,...) SELECT 字段1,字段2,... FROM 來源表 WHERE 條件;

這里需要注意:兩表的字段必須一致(位置一致,類型一致),否則會出現(xiàn)數(shù)據(jù)轉(zhuǎn)換錯誤。

例:臨時信息表部分字段信息中的數(shù)據(jù)同步到信息表中

INSERT INTO `litemall_company_enter`
(user_id,`name`,`type`,`time`,number,price,link,brief,product,`code`,legal_person,phone,email,address,`sign`,add_time,update_time,deleted)
SELECT
-1,t.`name`,t.`type`,t.`time`,t.number,t.price,t.link,t.brief,t.product,t.`code`,t.legal_person,t.phone,t.email,t.address,1,NOW(),NOW(),0
FROM `litemall_company_enter_temporary` t
WHERE t.id IN (2,4,6)

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

INSERT INTO 目標表(字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 來源表 
WHERE NOT exists (SELECT * FROM 目標表 WHERE 目標表.比較字段 = 來源表.比較字段);

例:臨時信息表部分字段信息中的數(shù)據(jù)同步到信息表中,如果存在則不同步,不存在則同步

INSERT INTO `litemall_company_enter`
(user_id,`name`,`type`,`time`,number,price,link,brief,product,`code`,legal_person,phone,email,address,`sign`,add_time,update_time,deleted)
SELECT
-1,t.`name`,t.`type`,t.`time`,t.number,t.price,t.link,t.brief,t.product,t.`code`,t.legal_person,t.phone,t.email,t.address,1,NOW(),NOW(),0
FROM `litemall_company_enter_temporary` t
WHERE NOT EXISTS
(SELECT * FROM `litemall_company_enter` e WHERE e.name=t.name AND e`.code=t.code )

SELECT INTO

SELECT INTO 語句從一個表中選取數(shù)據(jù),然后把數(shù)據(jù)插入另一個表中。常用于創(chuàng)建表的備份復件或者用于對記錄進行存檔。

(1) 兩張表字段完全一致,全部字段數(shù)據(jù)進行拷貝

SELECT * INTO student_backups FROM student WHERE class='高三(2)班';

(2) 拷貝指定字段

SELECT name,age,student_num INTO student_backups FROM student WHERE class='高三(2)班';

(3) IN 子句可用于向另一個數(shù)據(jù)庫 Backup.mdb 中拷貝表

SELECT * INTO student IN 'Backups.mdb' FROM student WHERE class='高三(2)班';

(4) 多表關聯(lián)選取數(shù)據(jù)

SELECT s.name,t.id INTO teacher_student_backups FROM student s INNER JOIN teacher t ON s.tid=t.id;

mysql查詢結(jié)果的數(shù)據(jù)新增到另一張表里

1.把B表的數(shù)據(jù)查詢出新增到A表去

`INSERT INTO a(id,name)?
SELECT ?b.id as id,b.name as name FROM b;`?

2.B表的字段滿足不了A的情況下

‘name’是對應type ,now()是對應的create_date

INSERT INTO dim_attach (type,bill_id,url,create_date) select ?'name', ?a.id AS bill_id, a.head_address AS url,now()
FROM
?dim_people a

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論