Python連接數(shù)據(jù)庫(kù)

介紹兩種方法

一、使用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ù)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容