MySQL將查詢結果插入到資料表中

2021-08-03 12:25:45 字數 1157 閱讀 3391

insert語句還可以將select語句查詢出來的資料插入到另乙個表中,即可快速地從乙個或多個表中向乙個表中插入多個行。這樣,可以方便不同表之間進行資料交換。

基本的語法格式如下:

insert into 表名1(字段列表1)

select 字段列表2 from 表名2 where 條件表示式;

將「表名2」中查詢出來的記錄插入到「表名1」中以後,「表名2」中仍然儲存著原來的記錄。

使用這種方法時,必須保證「字段列表1」和「字段列表2」中的字段個數是一樣的,同時,也必須保證每個對應的字段的資料型別是一樣的。如果資料型別不一樣,資料庫系統會報錯。然後,阻止insert語句向下執行。

從stu表中查詢所有的記錄,並將其插入到student表中。

1. 建立乙個名為stu的資料表,其表結構與student表結構相同。sql語句如下:

create table stu(

id int(4) not null auto_increment primary key,

xuesheng varchar(10) not null,

yuwen int(4),

shuxue int(4),

yingyu int(4));

2. 向stu資料表中新增兩條記錄。insert語句如下:

mysql>insert into stu(id,xuesheng,yuwen,shuxue,yingyu)

values(1001,'one',79,66,90),

(1002,'two',62,68,73);

3. 將stu資料表中所有的記錄插入到student資料表中。sql語句如下:

mysql>insert into student(id,xuesheng,yuwen,shuxue,yingyu)

select id,xuesheng,yuwen,shuxue,yingyu from stu;

這裡的id欄位為自增的主鍵,在插入的時候要保證該字段值的唯一性。如果不能確定,可以插入的時候忽略該欄位,只插入其它欄位的值。

這個例子中使用的stu資料表和student資料表的定義相同,事實上,mysql不關心select返回的列名,它根據列的位置進行插入,select的第1列對應待插入表的第1列,第2列對應待插入表的第2列,等等。即使不同結果的表之間也可以方便的轉移資料。

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將查詢結果插入到另乙個表中

1 如果兩張表 查詢表和插入表 的字段一致,並且希望插入查詢表的全部資料,可以用此方法 insert into 目標表 select from 表 insert into user login1 select from user login 2 如果只希望插入指定字段,可以用此方法,注意兩表的字段型...