mysql 查询结果带条件从一个库复制到另一个库

这里只说数据部分,没有建表部分

1.在源数据库 新建查询,把sql写好后,用ctrl+s保存。注意,这个查询的名字必须和表的名字保持一致。本文中设置为basic_common_file

2.点击下图所示按钮,然后选择导出已保存的查询

 

 

 这个包含列的标题选不选无所谓

 最后点击开始就会把sql文件保存

 2.在目标数据库

 将set autocommit = 0去掉,然后点开始。

最后就把数据同步过去了 。

这种方法有个弊端,导出的sql是一条一条的insert。

我这边提供一个将一条一条insert语句改成批量insert语句的思路:

场景是十几万的数据,形成一个96M的sql文件,一般的文本编辑器是无法打开进行编辑的,文件过大,一下子就卡死了。

我这边后来用linux系统的命令行进行操作,使用了vim命令的全局替换

:%s/XXX/YYY/g

这个命令会将全局的 XXX替换成YYY,速度非常快的

最后手动将一条条的sql变成了批量插入的sql

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL分表是一种常用的水平扩展数据库的方法,它将一个大的数据库按照一定的规则分成多个小的数据库,每个小的数据库再按照一定的规则分成多个小的表,从而达到分布式存储和负载均衡的目的。 下面是一个基本的分分表方案: 1. 水平分一个大的数据库按照某种规则分成多个小的数据库,例如按照用户ID取模进行分,将用户ID为奇数的用户存储在一个数据库,将用户ID为偶数的用户存储在另一个数据库。需要注意的是,分后不同的数据库之间要保证数据的一致性,可以通过主从复制或者分布式事务来保证。 2. 水平分表 将一个小的数据库按照某种规则分成多个小的表,例如按照时间进行分表,将不同时间段的数据存储在不同的表中。需要注意的是,分表后不同的表之间要保证数据的一致性,可以通过分布式锁或者分布式事务来保证。 3. 垂直分表 将一个大的表按照某种规则拆分成多个小的表,例如将相对独立的字段分成一个表,将经常更新的字段分成一个表。需要注意的是,分表后需要通过JOIN操作来获取完整的数据,可能会影响查询性能。 总之,分分表是一种比较复杂的技术,需要根据具体情况进行设计和实现。建议在实际应用采用成熟的分表中间件,例如ShardingSphere、TDDL等。 ### 回答2: MySQL分表是将一个大型的数据库按照一定的规则拆分成多个小的数据库和表,以提高数据库的性能和扩展性。 分分表的方法有两大类:垂直拆分和水平拆分。 垂直拆分是将一个大的数据库按照业务功能或者数据类型分成多个小的数据库。比如将用户数据、订单数据等不同的业务数据存放在不同的数据库。 水平拆分是将一个大的表按照一定的规则拆分成多个小的表。一般通过hash、range或者列表等方式进行拆分。比如按照用户ID的hash值来拆分用户数据表,或者按照订单的创建时间范围来拆分订单数据表。 在使用分分表的过程,需要考虑以下几个方面: 1. 数据一致性:需要确保拆分后的表之间的数据一致性。可以通过分布式事务或者通过应用程序来保证数据的一致性。 2. 查询路由:在进行数据查询时,需要确定对应的查询路由规则,将查询路由到正确的数据库表中。 3. 数据迁移:在进行分分表之前,需要将现有的数据进行迁移。可以使用工具进行数据迁移,或者通过应用程序将数据重新插入到分表中。 4. 垂直拆分和水平拆分的选择:根据业务需求和数据库性能来选择合适的拆分方式。 5. 分分表的动态性:根据业务需求,可能需要对分分表进行动态调整,需要考虑如何动态调整和迁移数据。 6. 分布式事务的处理:如果涉及到多个数据库的事务处理,需要考虑分布式事务的处理方式。 总之,MySQL的分分表可以通过垂直拆分和水平拆分的方式将一个大型的数据库分成多个小的数据库和表,以提高数据库的性能和扩展性。但在进行分分表之前,需要考虑数据一致性、查询路由、数据迁移等问题。 ### 回答3: MySQL进行分分表可以采用垂直分和水平分表的方式。 垂直分是将原始数据库按照不同的业务功能或业务模块划分为多个独立的数据库。这样每个数据库只存储与其相关的数据,分离了数据的关联性,提高了数据库的性能和扩展能力。垂直分可以按照功能拆分,比如将用户相关的数据存放在一个,将订单相关的数据存放在另一个,以此类推。分后可以根据业务的发展和负载的变化,对不同的进行独立扩容,提高了系统的稳定性和可靠性。 水平分表是将单一的数据库表按照某种规则拆分为多个子表,每个子表只包含一部分数据。拆分的规则可以是按照某个字段进行拆分,比如按照用户ID、日期等字段,也可以是按照均匀分布的方式进行拆分。水平分表可以提高数据库的读写性能,分散了数据的压力。在查询时,可以根据查询条件查询请求发送到不同的分表进行查询,最后再将结果合并返回。在新增数据时,可以根据规则将数据插入到相应的分表中,实现数据的均衡存储。 在实际应用,可以根据系统的需求和数据的规模选择适合的分分表方案。在进行分分表时,需要考虑到数据一致性、跨查询和业务拆分等问题,并合理规划数据库的关联性和数据的拆分规则。同时还需要注意分分表来的管理和维护复杂性,比如跨事务、分表查询等问题,并选择合适的工具和解决方案进行支持和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值