匯入mysql庫的方法常用的有:
pymysql中使用游標:適用於固定物件的單次或批量插入
sqlalchemy結合pandas實現:適用於將sql查詢結果插入庫表,可以限制index。
1、pymysql模組
import pandas as pd
import pymysql
conn_mysql=pymysql.connect(host=
'',user=
'',password=
'',db=
'',port=
'',charset=
'utf8'
)
pandas讀取
data=pd.read_sql(
"select 語句"
,conn_mysql)
print
(data.head(
))
游標讀取
cur_mysql=conn_mysql.cursor(
)#獲取游標
cur_mysql.execute(
"select語句"
,s)#執行sql,若select語句中有引數%s,則在sql後需要設定引數的指定物件s(多個引數用(s1,s2,...))
data=cur_mysql.fetchall(
)#獲取結果
游標匯出
cur_mysql.execute(
"insert into 表名(欄位1,欄位2) values(%s,%s)"
,(s1,s2)
)
2、sqlalchemy模組
from sqlalchemy import create_engine #調出模組方法
engine=create_engine(
'mysql+pymysql://user:password@ip/db'
,encoding=
'utf8'
)#連線mysql庫
data=engine.execute(
"select 語句"
)#執行sql
res=data.fetchall(
)#獲取結果
res.to_sql(
'表名'
,con=engine,if_exists=
,index=
false
)
import cx_oracle
conn_oracle=cx_oracle.connect(
'user'
,'password'
,'ip:port/db'
)
pandas讀取
data=pd.read_sql(
"select 語句"
,conn_oracle)
print
(data.head(
))
游標讀取
cur_oracle=conn_oracle.cursor #獲取游標
cur_oracle.execute(
"select 語句"
)#執行sql
data=cur_oracle.fetchall(
)#獲取結果
pandas匯出
data.to_sql(
"insert語句"
,conn_oracle)
游標匯出
for r in data:
cur_oracle.execute(
"insert into 表(欄位1,欄位2) values(%s,%s)"r)
python資料庫遷移指令碼
usr bin env python coding utf 8 import json from sqlalchemy import engine create engine postgresql metadata metadata engine t batch copy表示新版的批次表 t bat...
python遷移redis資料庫
python遷移redis資料庫 python3遷移redis資料庫,注意資料寫入後的編碼問題。usr bin python3 coding utf 8 import redis redis 1 redis.strictredis host 192.168.2.3 port 6379 passwor...
資料庫遷移
這期專案,需要將另外乙個系統a與現有系統b整合,由於時間比較緊,直接採用遷移oracle資料庫物件的方式,發現之前評估的方案不是特別完善,首先 1 a資料庫為gbk編碼,b資料庫是utf 8編碼格式,a資料遷移需要進行中文字段擴容 至少1.5倍 2 a資料庫需要做效能評估,歷史資料遷移涉的方式,兼顧...