介紹兩種方法
一、使用pymysql創(chuàng)建連接
首先要安裝pymysql包
- 第一步,創(chuàng)建連接
import pymysql
conn = pymysql.connect(
host = 'localhost',
user='root',
password='xxxx',
db='selecttest',
port=3306,
)
其中,user表示用戶名,password表示密碼,db表示要使用的數(shù)據(jù),port表示端口。
- 第二步,創(chuàng)建游標(biāo)
cur=conn.cursor()
- 第三步,通過(guò)游標(biāo)執(zhí)行sql語(yǔ)句并調(diào)取數(shù)據(jù)
cur.execute('select * from student')
data = cur.fetchall()
data返回一個(gè)多維元組
- 注意:使用完要關(guān)閉游標(biāo)和鏈接
cur.close()
conn.close()
二、使用pandas包調(diào)用
-第一步
導(dǎo)入相關(guān)包,并創(chuàng)建engine
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:19981005@localhost:3306/selecttest')
記下創(chuàng)建engine的固定格式
- 第二步,寫(xiě)sql語(yǔ)句,并使用read_sql建立鏈接
sql = 'select * from student'
pd.read_sql(sql, engine)
最終結(jié)果返回DataFrame數(shù)組
三、寫(xiě)入數(shù)據(jù)庫(kù)
- pd.to_sql(name, con, if_exists, index)
name是df, con是之前寫(xiě)好的連接器engine,if_exists='append'表示若不存在就不創(chuàng)建,若存在則插入,index=False表示不寫(xiě)入默認(rèn)的索引
注意如果將新表寫(xiě)入數(shù)據(jù)庫(kù),可能會(huì)出現(xiàn)數(shù)據(jù)類型和數(shù)據(jù)庫(kù)類型不一致的情況,建議先在sql中建表,定義數(shù)據(jù)類型,再加入數(shù)據(jù)。