import pymysql import time while True: # 连接源数据库 src_conn = pymysql.connect(host='10.43.64.110', port=3306, user='selectuser', password='Xy@123456', database='messpdb') print("连接源数据库成功") # 连接目标数据库 dst_conn = pymysql.connect(host='10.43.144.231', port=3306, user='root', password='123456', database='czjsc') print("连接目标数据库成功") # 创建源游标对象 src_cursor = src_conn.cursor() # 创建目标游标对象 dst_cursor = dst_conn.cursor() # 编写SQL查询语句 sql = 'select mat_id,material_name ,ROUND (sum(quantity) ,1 ) weight ,unit_id from messpdb.silk_stock a left join messpdb.maindata_material b on a.mat_id =b.ctrl where mat_id >0 group by mat_id,material_name, unit_id' # 执行SQL查询语句 src_cursor.execute(sql) # 获取查询结果 results = src_cursor.fetchall() print("查询数据库成功") # 更新数据到目标数据库 for row in results: mat_id = row[0] material_name = row[1] weight = row[2] unit_id = row[3] # 将数据更新到目标数据库中 update_sql = "update cs_list set material_name=%s, weight=%s, unit_id=%s where mat_id=%s" dst_cursor.execute(update_sql, (material_name, weight, unit_id, mat_id)) print("更新数据成功") # 提交事务并关闭连接 dst_conn.commit() dst_cursor.close() src_cursor.close() dst_conn.close() src_conn.close() print("断开数据库连接成功") time.sleep(1)
时间: 2024-04-28 14:23:31 浏览: 9
这是一段 Python 代码,用于实现从一个数据库向另一个数据库的数据同步。其中,通过 pymysql 库连接源数据库和目标数据库,并获取源数据库中的数据。然后,通过执行 update 语句,将获取的数据更新到目标数据库中。最后,通过提交事务并关闭连接,完成数据同步的操作。这段代码使用了一个无限循环,每隔 1 秒钟同步一次数据。
相关问题
# 连接 MySQL 数据库 db = pymysql.connect(host='localhost', user='root', password='123456', database='test', port=3306, connect_timeout=10)
这段代码是用 Python 中的 PyMySQL 模块连接本地 MySQL 数据库,连接的参数包括:
- host:MySQL 数据库所在的主机名或 IP 地址,这里是 localhost,也就是本地。
- user:连接 MySQL 数据库所用的用户名,这里是 root。
- password:连接 MySQL 数据库所用的密码,这里是 123456。
- database:要连接的数据库名,这里是 test。
- port:MySQL 服务所监听的端口号,一般是 3306。
- connect_timeout:连接 MySQL 数据库的超时时间,单位是秒,这里是 10 秒。
连接成功后,可以使用 cursor() 方法获取游标对象,然后使用 execute() 方法执行 SQL 查询语句。比如:
```python
cursor = db.cursor()
cursor.execute('SELECT * FROM student')
results = cursor.fetchall()
for row in results:
print(row)
```
这里的 SQL 查询语句是查询 student 表中的所有数据,并将结果打印出来。最后,使用 close() 方法关闭数据库连接。
import pymysql class dbc(): def conn(self): conn = pymysql.connect( host="localhost", port=3306, user="root", password="123456", db="summer", charset="utf8" ) return conn
这是一个 Python 中使用 PyMySQL 模块连接 MySQL 数据库的示例代码。其中定义了一个名为 dbc 的类,该类中包含一个名为 conn 的方法,用于创建并返回一个数据库连接对象。具体解释如下:
1. `import pymysql`:导入 PyMySQL 模块,该模块提供了 Python 连接 MySQL 数据库的功能。
2. `class dbc():`:定义一个名为 dbc 的类。
3. `def conn(self):`:定义一个名为 conn 的方法,该方法没有参数,但是有一个 self 参数,表示当前对象。
4. `conn = pymysql.connect(...)`:使用 PyMySQL 模块的 connect 方法创建一个 MySQL 数据库连接对象,并将其赋值给变量 conn。
5. `return conn`:返回创建的数据库连接对象。
在实际使用中,可以先创建一个 dbc 的对象,然后通过该对象调用 conn 方法来获取一个数据库连接对象,从而进行相应的数据库操作。比如,可以使用以下代码获取一个连接对象:
```
my_dbc = dbc()
my_conn = my_dbc.conn()
```
其中,my_dbc 是一个 dbc 的对象,my_conn 是一个 MySQL 数据库连接对象。