一.讀取數據
1.import pymysql #導入模塊
2.設置連接數據庫
conn = pymysql.connect(
host='localhost',
user='root',
password='root',
database='text',
charset='utf8')
3.開始讀取數據庫數據
mysql_page = pd.read_sql("select * from Seven", con=conn)
二.寫入數據
1.from sqlalchemy import create_engine #導入模塊
2.engine = create_engine("mysql+pymysql://root:root@127.0.0.1:3306/text?charset=utf8") #設置連接數據庫
兩個root分別代表數據庫的賬號和密碼,127.0.0.1為本地數據庫,3306是端口號,text為數據庫名字,charset=utf8是字符集。格式順序不要動,@?不要去掉。
3.with engine.begin() as conn:
hechengbiao.to_sql(name='cunganbu',con=conn,if_exists = "replace",index=False) #寫入MYSQL
-
name:
導入到mysql時表的名字
如果mysql里面已經用CREATE TABLE
創建好了表,那么就是該表名字
如果mysql沒有創建好表,那么可以自己起一個合適的表名 -
con:
數據庫連接,需要安裝sqlalchemy庫,目前僅支持sqlalchemy庫創建的連接,pymysql庫創建的連接不支持
-
if_exists:以下三個選項,是如果數據庫里面已經存在該表的意思
"fail":直接報錯,不再操作,類似mysql創建表時的IF NOT EXISTS
才創建表
"replace":先刪除該表,然后再創建
"append":直接在表后面添加數據 -
index:bool
是否把DataFrame的索引列寫入表中 -
index_label:
如果要把DataFrame的索引列寫入表中,那么需要給出該索引列的名字,如果沒給的話,那就會用DataFrame的列索引名
注意事項:
con 參數一定要仔細核對,否則數據庫會連接失敗,可參照上面給出的例子按自己的實際數據庫位置進行更改