只需3步,新手也能轻松完成mysql千万级数据迁移


相信各位日常开发中经常会遇到各种需要做数据迁移的业务场景,想要快速迁移又不想费劲敲代码?找个趁手的工具,可以让这个任务变得轻松又快捷,只需简单3步,新手也能直接上手!

所需工具

SQLynx(原名SQL Studio):一个小巧免安装的数据库管理开发工具,个人版免费。支持多数据源同时接入管理,界面简洁容易上手。
SQLynx

数据迁移三部曲

第一步

打开想要迁移的源表,在这里为了便于区分我们叫它A表,为了方便操作,可以先复制A表的DDL语句。
*截图内容是随手写的一写字段类型,仅作参考哈~
复制DDL1
复制DDL2

第二步

打开需要迁移的目标数据库位置,根据复制的DDL创建一个新表,我们这里叫它B表;
在这里插入图片描述

第三步

选中A表右键点击数据迁移,简单设置下行数等参数,ok,传它!
在这里插入图片描述
只需稍等片刻,1300万行数据就可以传输完成了:
在这里插入图片描述
本次我们测试的表约为1.6GB,12个字段1300万行数据,不对表做任何设置或优化的前提下,可以实现348s完成迁移;同一张表我们也测试了向远程服务器上的数据库进行跨库迁移,受网络传输速度等因素影响耗时为579s,整体来说也还是非常省心了。
在这里插入图片描述

数据迁移的事务执行

此外,使用SQLynx进行数据操作可支持事务执行,数据迁移时可自行选择是否执行事务,可以避免了核对已完成部分数据的操作,确保迁移数据的前后一致性。
在这里插入图片描述
*当然我们也可以选择从A表导出SQL文件,然后到B表执行导入SQL文件的操作也是可以的。

将查询结果保存到表

SQLynx支持将查询结果直接迁移保存到新表,我们将查询语句返回的数据直接通过【保存到表】的功能,直接存储到数据库的其他位置,可以不用导出到本地,进一步提升了工作效率。
在这里插入图片描述
最后,我们在数据库整库备份和恢复的时候也可以使用SQLynx进行,可以很便捷的选择整库或者其中部分数据表备份到本地或恢复,无论你是DBA还是开发者,千万级别的数据迁移将变得更简洁高效。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是将5万条记录批量插入MySQL的三个简单骤: 1. 构建插入语句:首先,你要构建一个插入语句,用于将数据插入到MySQL中。例如,如果你要将数据插入到名为“mytable”的表中,可以使用以下语句: ``` INSERT INTO mytable (column1, column2, column3, ...) VALUES (value1, value2, value3, ...), (value1, value2, value3, ...), ... ``` 其中,column1、column2、column3等是表中的列名,而value1、value2、value3等是要插入的数据值。 2. 生成数据:其次,你要生成要插入的数据。可以使用Python、Java等编程语言编写脚本来生成数据。例如,以下是使用Python生成随机数据的示例代码: ``` import random # 生成5万条数据 num_records = 50000 # 生成数据并将其存储在列表中 data = [] for i in range(num_records): column1 = random.randint(1, 100) column2 = random.choice(['foo', 'bar', 'baz']) column3 = random.uniform(0, 1) data.append((column1, column2, column3)) ``` 在这个示例中,我们使用了Python的random模块来生成随机数据。我们首先定义了要生成的数据量(即5万条记录),然后使用循环生成数据并将其存储在一个列表中。最后,我们将数据列表传递给插入语句中的VALUES子句。 3. 执行插入语句:最后,你要将插入语句发送给MySQL服务器并执行它。可以使用Python的MySQLdb模块或Java的JDBC API等工具来执行插入语句。以下是Python使用MySQLdb模块执行插入语句的示例代码: ``` import MySQLdb # 连接到MySQL服务器 db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="mydatabase") # 创建游标对象 cursor = db.cursor() # 生成数据 # ... # 构建插入语句 insert_stmt = "INSERT INTO mytable (column1, column2, column3) VALUES (%s, %s, %s)" # 执行插入语句 cursor.executemany(insert_stmt, data) # 提交事务 db.commit() # 关闭连接 db.close() ``` 在这个示例中,我们首先使用MySQLdb模块连接到MySQL服务器,并创建一个游标对象。然后,我们生成数据并构建插入语句,使用游标对象的executemany方法将数据插入到MySQL中。最后,我们提交事务并关闭连接。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦聪聊数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值