1. 程式人生 > >關於python下的mysql資料庫查詢儲存操作

關於python下的mysql資料庫查詢儲存操作

鑑於使用mysql的時候,在查詢和儲存資料主要是用dataframe的格式

查詢操作如果使用cursor沒有辦法一步得到dataframe,如果使用pd.read_sql()或者read_sql_table()操作會更方便,在這裡我使用read_sql()。插入的時候使用pd.io.sql.to_sql()函式能夠直接將dataframe放入資料庫,更加便捷,具體的操作如下,所需要的包在程式碼中體現:

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import pymysql
from sqlalchemy import create_engine#一個sql操作的引擎 很重要

########數    據   庫   查   詢   存   儲   操   作   實   驗###########

# 開啟資料庫連線
db = pymysql.connect("localhost", "root", "自己的密碼", "database",3306)
#conn = create_engine('mysql+mysqldb://root:
[email protected]
:3306/databasename?charset=utf8') 示例 conn = create_engine('mysql+pymysql://root:自己的密碼@localhost:3306/database?charset=utf8') #現在普遍是pymysql引擎 如果是python3.4一下或者python2的可以使用mysqldb替換 cursor=db.cursor() sql="select * from flow_data limit 10" df=pd.read_sql(sql,db) print(df.index) sql2="truncate table predict_flow_data" cursor.execute(sql2) #注意此操作不能插入大的的dataframe,所以適當的適合需要分片處理 #注意可以用df.to_sql 二者都可以,我認為pd.io.sql.to_sql()更靈活 #pd.io.sql.to_sql(df, "predict_flow_data",con=conn,if_exists='append',index=False) df.to_sql(name="predict_flow_data",con=conn,if_exists='append',index=False)