1.前言
pymysql是一个第三方的模块,使用前需要安装
2.安装
pip install pymysql
3.基本使用
1.导入模块
from pymysql import connect
2.Connection 对象 目的:用于建立代码与数据库的连接
创建连接对象 conn=connect(参数列表)
参数host:连接的mysql主机,如果本机是'127.0.0.1'#如果不能用可以试下 host=localhost
参数port:连接的mysql主机的端口,默认是3306
参数database:数据库的名称
参数user:连接的用户名
参数password:连接的密码
参数charset:通信采用的编码方式,推荐使用utf8
3.关闭连接 conn.close()
4.提交数据 conn.commit()
5.撤销数据 conn.rollback()
6.通过连接获取游标 cur = conn.cursor()返回Cursor对象,用于执行sql语句并获得结果
7.Cursor游标对象 目的: 执行sql语句
8.获取Cursor对象 cur = conn.cursor()
9.使用游标执行SQL语句 cur.execute(operation , [parameters])
10.执行SQL语句,返回受影响的行数,主要用于执行insert、update、delete语句
11.获取结果集中的一条 cur.fetchone() 返回一个元组
12.获取结果集中的一条 cur.fetchmany(2) 返回一个元组
13.获取结果集中的所有 cur.fetchall() 执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
14.关闭游标 cur.close()
5.代码实现结果
前提,这两个表结构相同
1.进入命令行,运行脚本
D:\BaiduNetdiskDownload
λ python D:\Users\ZHOUGUIHUA\PycharmProjects\transfer_dbdata\main.py
2.提示输入源数据库的一些信息
请依次输入下面源数据库配置
源数据库ip地址,用户名,数据库名,需要同步表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
输入完成按下回车键
请依次输入下面源数据库配置
源数据库ip地址,用户名,数据库名,需要同步表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
10.10.1.66,root,house,project_zj,3306
提示输入密码
请依次输入下面源数据库配置 源数据库ip地址,用户名,数据库名,需要同步表名称,端口号[使用英文状态下的逗号分隔],回车键确定: 10.10.1.66,root,house,project_zj,3306 请输入源数据库密码,回车键确定: 请依此输入下面目标数
据库配置 目标数据库ip地址,用户名,数据库名,同步到表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
接着输入目标数据库配置和密码同上。。。
执行效果:
D:\BaiduNetdiskDownload
λ python D:\Users\ZHOUGUIHUA\PycharmProjects\transfer_dbdata\main.py
请依次输入下面源数据库配置
源数据库ip地址,用户名,数据库名,需要同步表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
10.10.1.66,root,house,project_zj,3306
请输入源数据库密码,回车键确定:
请依此输入下面目标数据库配置
目标数据库ip地址,用户名,数据库名,同步到表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
10.10.1.63,root,house,project,3306 数请输入目标数据库密码,回车键确定:
进度15 %;源服务器:10.10.1.66;源数据库:house;目标服务器:10.10.1.63;目标数据库:house;已处理:998;错误:0;已传输:998;时间:17.70s
执行结果:
D:\BaiduNetdiskDownload
λ python D:\Users\ZHOUGUIHUA\PycharmProjects\transfer_dbdata\main.py
请依次输入下面源数据库配置
源数据库ip地址,用户名,数据库名,需要同步表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
10.10.1.66,root,house,project_zj,3306
请输入源数据库密码,回车键确定:
请依此输入下面目标数据库配置
目标数据库ip地址,用户名,数据库名,同步到表名称,端口号[使用英文状态下的逗号分隔],回车键确定:
10.10.1.63,root,house,project,3306
请输入目标数据库密码,回车键确定:
进度100%;源服务器:10.10.1.66;源数据库:house;目标服务器:10.10.1.63;目标数据库:house;已处理:6728;错误:0;已传输:6728;时间:116.71s
插入6728条数据耗时2分钟,提高效率的话,可以直接使用命令的方式
本文章全系对技术的兴趣爱好,欢迎大家学习交流。