利用python中pymysql操作MySQL數(shù)據(jù)庫(kù)的新手指南
一. pymysql介紹
pymysql 是在 Python3.x 版本中用于連接和操作 MySQL 服務(wù)器的一個(gè)庫(kù).
引入方式: pip install pymysql
pip工具是python的一個(gè)模塊,因此在使用pip工具安裝pymysql模塊之前,首先確定python和pip工具都能正常工作
二. 連接數(shù)據(jù)庫(kù)的完整流程
1. 引入pymysql模塊
import pymysql # 引入第三方庫(kù)pymysql
2. 創(chuàng)建連接對(duì)象
import pymysql
cnn = pymysql.connect(
user="user", # 用戶名
password="password", # 密碼
port=端口號(hào), # 默認(rèn)為3306,且此處為整數(shù)類(lèi)型
database="數(shù)據(jù)庫(kù)名",
host="連接IP地址",
charset="utf8")
3. 使用連接對(duì)象創(chuàng)建游標(biāo)對(duì)象
1. 游標(biāo)對(duì)象是通過(guò)鏈接對(duì)象進(jìn)行創(chuàng)建的 2. 游標(biāo)展示數(shù)據(jù)的四種方式: 1. Cursor ---> 默認(rèn)使用, 元組套元組 2. SSCursor ---> 元組套元組的方式的生成器(優(yōu)雅的迭代器) 3. Dictcursor ---> 列表套字典的方式 4. SSDictcursor ---> 列表套字典的方式的生成器 3. 創(chuàng)建語(yǔ)法(以最常用的列表套字典的形式舉例) cursor = database.cursor(cursor=pymysql.cursors.DictCursor # cursor為游標(biāo)對(duì)象名, 可按自己習(xí)慣自定義名字
4. 準(zhǔn)備需要使用的sql語(yǔ)句
按照自己的需求準(zhǔn)備sql語(yǔ)句, 不熟悉的同學(xué)可以點(diǎn)擊下方鏈接, 復(fù)習(xí)我上期寫(xiě)的MySQL基礎(chǔ)入門(mén)課程.
5. 使用游標(biāo)對(duì)象執(zhí)行sql語(yǔ)句(如果是數(shù)據(jù)修改的操作,會(huì)返回受影響的行數(shù))
# 執(zhí)行語(yǔ)句比較簡(jiǎn)單, 就只寫(xiě)了這一個(gè) cursor.execute(SQL語(yǔ)句)
6. 如果執(zhí)行語(yǔ)句是查詢操作,需要使用游標(biāo)對(duì)象獲取查詢結(jié)果
1. 獲取結(jié)果的語(yǔ)法:
1. 游標(biāo)對(duì)象.fetchall() ---> 返回查詢到的所有數(shù)據(jù)
2. 游標(biāo)對(duì)象.fetchone() ---> 返回查詢到的一條記錄
3. 游標(biāo)對(duì)象.fetchmany(記錄數(shù)) ---> 返回查詢到的指定記錄數(shù)
2. 切換數(shù)據(jù)庫(kù)語(yǔ)法:
1. 由鏈接對(duì)象取操作切換數(shù)據(jù)庫(kù)
2. 鏈接對(duì)象.select_db("數(shù)據(jù)庫(kù)名)
3. 具體語(yǔ)句(用一個(gè)變量data接受存儲(chǔ)數(shù)據(jù))
data = cursor.fetchall()
7. 關(guān)閉游標(biāo)對(duì)象
游標(biāo)對(duì)象.close()
8. 關(guān)閉連接對(duì)象
連接對(duì)象.close()
三. 完整的簡(jiǎn)易源碼
# 1. 引入模塊
import pymysql
# 2. 連接數(shù)據(jù)庫(kù)
cnn = pymysql.connect(
user="root",
password="******",
port=3306,
database="mytest",
host="localhost",
charset="utf8"
)
# 3. 創(chuàng)建游標(biāo)對(duì)象
my_cursor = cnn.cursor(cursor=pymysql.cursors.DictCursor)
# 4. SQL語(yǔ)句
my_sql = "select * from student"
# 5. 執(zhí)行SQL ---> 通過(guò)游標(biāo)對(duì)象執(zhí)行
my_cursor.execute(my_sql)
# 6. 查看結(jié)果
data = my_cursor.fetchall()
# 7. 關(guān)閉連接
my_cursor.close()
database.close()
# 打印獲得的數(shù)據(jù), 檢查執(zhí)行是否正確
print(data)
總結(jié)
到此這篇關(guān)于利用python中pymysql操作MySQL數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)python pymysql操作MySQL數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python基于ssh遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)操作
- python pymysql鏈接數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)為Dataframe實(shí)例
- python中pymysql的executemany使用方式
- python使用pymysql操作MySQL錯(cuò)誤代碼1054和1064處理方式
- python?實(shí)現(xiàn)?pymysql?數(shù)據(jù)庫(kù)操作方法
- Python pymysql連接數(shù)據(jù)庫(kù)并將查詢結(jié)果轉(zhuǎn)化為Pandas dataframe
相關(guān)文章
python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例
今天小編就為大家分享一篇python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Google開(kāi)源的Python格式化工具YAPF的安裝和使用教程
Google的開(kāi)發(fā)者文檔中有一套Python的代碼書(shū)寫(xiě)規(guī)范,而在GitHub上同樣開(kāi)源了一款名為YAPF的命令行程序用作Python的格式化,下面我們就來(lái)看下這款Google開(kāi)源的Python格式化工具YAPF的安裝和使用教程2016-05-05
關(guān)于Python連接Cassandra容器進(jìn)行查詢的問(wèn)題
這篇文章主要介紹了Python連接Cassandra容器進(jìn)行查詢的問(wèn)題,問(wèn)題的關(guān)鍵在于尋找到Cassandra的9042端口,從而獲取數(shù)據(jù),具有內(nèi)容詳情跟隨小編一起看看吧2021-11-11
python使用opencv驅(qū)動(dòng)攝像頭的方法
今天小編就為大家分享一篇python使用opencv驅(qū)動(dòng)攝像頭的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Python實(shí)現(xiàn)多任務(wù)版的udp聊天器
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)多任務(wù)版的udp聊天器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
python 使用cx-freeze打包程序的實(shí)現(xiàn)
這篇文章主要介紹了python 使用cx-freeze打包程序的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
python中關(guān)于對(duì)super()函數(shù)疑問(wèn)解惑
Python中的super()是用于調(diào)用父類(lèi)(或父類(lèi)的父類(lèi)...)方法的函數(shù),主要用于多繼承,單繼承問(wèn)題不大,下面這篇文章主要給大家介紹了關(guān)于python中關(guān)于對(duì)super()函數(shù)疑問(wèn)解惑的相關(guān)資料,需要的朋友可以參考下2022-08-08
PowerBI和Python關(guān)于數(shù)據(jù)分析的對(duì)比
這篇文章主要介紹了PowerBI和Python關(guān)于數(shù)據(jù)分析的對(duì)比,很多經(jīng)常會(huì)用到數(shù)據(jù)分析的伙伴會(huì)問(wèn)有沒(méi)有一款便捷好用的工具!肯定有啊,Python的出現(xiàn)和普及,很容易就能改變這些窘境,需要的朋友可以參考下2019-07-07

