Mysql查询 - 将结果集从一个数据库复制到另一个数据库

时间:2010-11-29 10:41:32

标签: mysql

我有一个大型数据库,我根据时间间隔切入较小的数据库。这将大大缩短查询时间。在查询中,我可以将结果集从一个数据库复制到另一个具有相同模式的数据库吗?

基本上是一个选择,然后在同一代码块中进行更新?

谢谢,

slothishtype

2 个答案:

答案 0 :(得分:3)

将数据从一个数据库复制到另一个数据库应该与@slotishtype描述的一样简单,除非您需要使用您想要复制到的OTHER数据库对其进行限定。

create table OtherDatabase.Student Select * from FirstDatabase.student

但是,正如您提到的那样,复制相同的架构,这是另一回事。如果您需要所有R / I规则,触发器等,则可能必须从第一个数据库模式(具有所有创建表,索引等)转储数据库模式,并在新数据库中运行。但是,这可能会发布您有自动递增列的问题。您不能写入只读自动增量列 - 数据库控制它。但是,如果存在这种情况,则必须将这些列设置为整数数据类型(或类似)并执行

insert into OtherDatabase.Student ( field1, field2, etc )
   select field1, field2, etc from FirstDatabase.student 

答案 1 :(得分:0)

如果没有必要将它添加到新数据库,这将很好:

CREATE TABLE student1 SELECT * FROM student

记录的

编辑::这不会覆盖索引等。

然而,这将:

CREATE TABLE student_new LIKE学生; INSERT recipes_new SELECT * FROM student;

slotishtype