import pymysql # 数据库A的连接信息 db_a_config = { 'host': '192.168.0.222', 'user': 'root', 'password': '1qazse42W3', 'db': 'ry', 'charset': 'utf8mb4', } # 数据库B的连接信息 db_b_config = { 'host': '192.168.0.222', 'user': 'root', 'password': '1qazse42W3', 'db': 'mojin', 'charset': 'utf8mb4', } try: # 连接数据库A db_a_conn = pymysql.connect(**db_a_config) db_a_cursor = db_a_conn.cursor() # 连接数据库B db_b_conn = pymysql.connect(**db_b_config) db_b_cursor = db_b_conn.cursor() stock_basic_map = {} #查询交易日数据 sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > "2022-01-01"' sql_trade = "trading" db_a_cursor.execute(sql_trade_qurey,sql_trade) trading_dates = db_a_cursor.fetchall() #查询基础数据 sql_stockbasic = "select code,name,blemind2,blemind3,listdate from stock_basis" db_a_cursor.execute(sql_stockbasic) stock_basic_datas = db_a_cursor.fetchall() for row in stock_basic_datas: code,name,blemind2,blemind3,listdate = row stock_basic_map[code] = (code,name,blemind2,blemind3,listdate) for row in trading_dates: trading_date,week,trade = row print(trading_date) #查询日交易数据 sql_stock_query = 'select code ,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold from stocks where trade_day = %s' db_a_cursor.execute(sql_stock_query,trading_date) datas = db_a_cursor.fetchall() print(datas) print(stock_basic_map) print(trading_dates) # 查询数据库A中的数据表a1和a2的数据,并进行关联 #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') #data_to_transfer = db_a_cursor.fetchall() # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) # db_b_cursor.execute('DELETE FROM c') # 插入数据到数据库B中的表c中 # for row in data_to_transfer: # id, date, user, userName, count = row # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) # 提交数据到数据库B中 # db_b_conn.commit() print("数据传输完成!") except Exception as e: print(f"出现错误:{e}") finally: # 关闭连接 if db_a_cursor: db_a_cursor.close() if db_a_conn: db_a_conn.close() if db_b_cursor: db_b_cursor.close() if db_b_conn: db_b_conn.close()