程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL 關於表復制 insert into 語法的具體引見

MySQL 關於表復制 insert into 語法的具體引見

編輯:MySQL綜合教程

MySQL 關於表復制 insert into 語法的具體引見。本站提示廣大學習愛好者:(MySQL 關於表復制 insert into 語法的具體引見)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 關於表復制 insert into 語法的具體引見正文


web開辟中,我們常常須要將一個表的數據拔出到別的一個表,有時還須要指定導入字段,設置只須要導入目的表中不存在的記載,固然這些都可以在法式中拆分紅簡略sql來完成,然則用一個sql的話,會節儉年夜量代碼。上面我以mysql數據庫為例分情形逐個解釋:
兩張表:insertTest和insertTest2,前者中有測試數據

create table insertTest(id int(4),name varchar(12));
insert into insertTest values(100,‘liudehua');
insert into insertTest values(101,‘zhourunfa');
insert into insertTest values(102,‘zhouhuajian');

1.假如2張表的字段分歧,而且願望拔出全體數據,可以用這類辦法:
  INSERT INTO 目的表 SELECT * FROM 起源表;

insert into insertTest select * from insertTest2;

2.假如只願望導入指定字段,可以用這類辦法:

INSERT INTO 目的表 (字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 起源表; 

留意字段的次序必需分歧。

insert into insertTest2(id) select id 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 not exists (select * from insertTest2
where insertTest2.id=insertTest.id);

2>.拔出一筆記錄:

insert into insertTest
(id, name)
SELECT 100, ‘liudehua'
FROM dual
WHERE not exists (select * from insertTest
where insertTest.id = 100);

應用 dual 作表名,select 語句前面直接跟上要拔出的字段的值。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved