MySQL怎么导入两个表 mysql连接两个表

mysql 怎么将两张表里的数据复制到一张表中

在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比禅城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式禅城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖禅城地区。费用合理售后完善,十载实体公司更值得信赖。

1、 表结构相同的表,且在同一数据库(如,table1,table2)

Sql :

复制代码代码如下:

insert into table1 select * from table2 (完全复制)

insert into table1 select distinct * from table2(不复制重复纪录)

insert into table1 select top 5 * from table2 (前五条纪录)

2、不在同一数据库中(如,db1 table1,db2 table2)

sql:

[code]

insert into db1.table1 select * from db2.table2 (完全复制)

insert into db1.table1 select distinct * from db2table2(不复制重复纪录)

insert into tdb1.able1 select top 5 * from db2table2 (前五条纪录)

3、表结构不同的表或复制部分纪录(如,dn_user,dn_user2)

a. 建一个新表[DN_UserTemp](在老表dn_user上增加一列)

mysql怎么用一条语句给两张表插入数据?

mysql无论如何也做不到用一条语句给两张表插入数据。

理由:一个insert语句仅能在一个表中插入,这是语法的规定。

工具:mysql 5.6

步骤(即插入数据举例):

1、如user表有如下数据:

2、要将一条新数据,id为6,name为lilei插入表中,用如下语句:

insert into user(id,name) values (5,'lilei');

3、插入后结果:

mysql 怎样用一条语句向两个表插入数据

一条语句同时插入两个表是做不到的

可以考虑在A表上建一个触发器,当向A表插入数据时,同时插入一条记录到B表

Mysql 怎样将一个数据库中表 数据 插入到 另一个数据库 表中

以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 语句后面直接跟上要插入的字段的值。

4.将查询出来的数据并同其他变量一起插入新的数据表中

insert into t_supp_PurchPlan_s(PurPlanCode,itemcode,Speccode) select 'hello'as PurPlanCode,itemcode,speccode from b_item where id=8

直接将变量放到相应的位置即可(如上将固定的变量或动态变量放入即可)

mysql语句中如何将数据同时插入到两张表中

insert all

into A (a,b,c)

values(value-a,value-b,value-c)

into B(d,e,f)

values(value-d,value-e,value-f)

select value-a,value-b,value-c,value-d,value-e,value-f

from TableX

where ...;

mysql数据库问题,如何同一个操作添加两个表(a表,b表),并把b表的id添加到a表字段中,b表id自动增长

在数据库中创建存储过程,比如存储过程的名字叫做 test

在java中和正常使用sql的方法一样, sql = "call test(B1,B2)", B1和B2是假设你将要插入b表中的数据

假设b表的结构是(ID int auto_incremet, B1 int, B2 int)

假设a表的结构是(ID int)

CREATE test(B1 int, B2 int) #假设A1和A2是将要插入b表中的数据

BEGIN

declare new_id as int; #声明自增长所添加的ID

insert into b(B1,B2) values(B1,B2); #给b插入新的记录

select last_insert_id() into new_id; #取得新插入记录的ID

insert into a(ID) values(new_id); #把新插入的ID写入a表

select new_id; #如果需要的话存储过程返回新得到的ID给客户端

END

注意: 为什么推荐使用存储过程,而不是直接在java程序中使用select last_insert_id(); 因为这个函数是打开当前端口时,返回最后一个插入的自增长的ID, 如果不用存储过程,可能当前链接关闭,或有其他的应用也在其他有自增长ID的表中插入新的记录, 这时你取回的ID就是错误的。


网站标题:MySQL怎么导入两个表 mysql连接两个表
标题来源:http://pwwzsj.com/article/dodeehc.html