|
|
|
|
|
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()
|