mysql 合并数据库的命令?

mysql 合并数据库的命令?,第1张

USE

S2

假如

S2

S1

2个数据库,

没有交集,那么直接执行:

INSERT

INTO

DATA

SELECT

*

FROM

S1.DATA

假如

S2

S1

2个数据库,

有交集(

主键是

id

),那么执行:

INSERT

INTO

DATA

SELECT

*

FROM

S1.DATA

AS

s1data

WHERE

s1data.id

NOT

IN

(

SELECT

id

FROM

DATA)

首先问下.你会哪种导入手段.再之.你会哪种导出方法.然后,按你会的 *** 作呗.

2个数据库是不是同在本地,还是一个本地一个远程?navicat自带数据导入向导,按那个 *** 作就是.

表名不同没关系.字段不统一的话,要在导入时选下映射关系,不然就只有把远程的表下到本地来.

再用insert

into

目标表(字段1,....字段n)

select

a,b,c,d,...n

from

源表的方式写入.

我不知道你们具体的需求,但是这个问题如果说单单从一张表上统计的话数据量很大,会很慢的。我觉得这个问题可以分成两个功能实现,一个是实时查询,一个是历史查询。那么就有两张表,一个是实时表(在线表或者主表),一个是历史表(从表)。这时还需要借助一张辅助表,称为统计表吧。每天定时把实时表的数据插入到历史表,再从历史表分组统计,将统计的结果插入统计表。

如果查询实时数据,可以从实时表查询,实时表只有一天的数据。

如果查询的历史数据,可以从统计表查询。

如果你们的需求这样不可行,那就考虑一下写存储过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8644372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存