Python連接MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單便捷方法
??,本文中,使用到的工具有:Pycharm,Anaconda,MySQL 5.5,spyder(Anaconda)
什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個(gè)庫(kù),Python2 中則使用 mysqldb。
一、環(huán)境準(zhǔn)備
1、安裝pymysql:
進(jìn)行Python連接mysql數(shù)據(jù)庫(kù)之前,需要先安裝一下pymysql。
直接在終端執(zhí)行下面的命令即可。(在此處我將指定1.0.2版本)
pip install pymysql==1.0.2
2、查詢安裝:
下載完成后,在終端輸入 pip list 即可看到下圖:
pip list
可以看到我們的PyMySQL是1.0.2版本的。
3、Anaconda下載pymysql:
打開(kāi)Anaconda,選擇 Environments 點(diǎn)擊右上方的的搜索框 輸入 pymysql
點(diǎn)擊方框,即可下載
方式一??:
此處我們可以選擇 spyder 或者 pycharm 首先為大家介紹一下 spyder 我們只需要直接導(dǎo)入 pymysql 庫(kù)即可
方式二??:
4、Pycharm下載pymysql
打開(kāi) Pycharm 選擇文件,點(diǎn)擊設(shè)置,
下劃,選擇python解釋器,這里我的Pycharm已經(jīng)配置了Anaconda環(huán)境
如果沒(méi)有查詢到 pymysql 可以在 Pycharm 終端中下載 pymysql 庫(kù)
以上我們的環(huán)境就準(zhǔn)備好了,下面我們進(jìn)行編寫(xiě)程序 ?
二、代碼編寫(xiě),連接數(shù)據(jù)庫(kù)
1、導(dǎo)入數(shù)據(jù)庫(kù)表
import pymysql
數(shù)據(jù)庫(kù)連接:
連接數(shù)據(jù)庫(kù)前,請(qǐng)先確認(rèn)以下事項(xiàng):
- 連接數(shù)據(jù)庫(kù)使用的用戶名為 "root" ,密碼為 "dai324542",創(chuàng)建了數(shù)據(jù)庫(kù) runoob
- 你可以自己設(shè)定或者直接使用root用戶名及其密碼
db = pymysql.connect(host='localhost', user='root', password='dai324542', database='runoob', charset='utf8') # 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象 cursor cursor = db.cursor() # 使用 execute() 方法執(zhí)行 SQL 查詢 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法獲取單條數(shù)據(jù). data = cursor.fetchone() print ("數(shù)據(jù)庫(kù)連接成功!") # 關(guān)閉數(shù)據(jù)庫(kù)連接 db.close()
2、創(chuàng)建數(shù)據(jù)庫(kù)表
# 創(chuàng)建表 sql="""CREATE TABLE test ( FIRST_ CHAR(20) NOT NULL, SECOND_ CHAR(20), THIRD_ INT, FOURTH_ CHAR(1), FIFTH_ FLOAT )""" # 運(yùn)行sql語(yǔ)句 cursor.execute(sql)
這里我們所運(yùn)用的sql語(yǔ)句是不是很熟悉了??
下面即是運(yùn)行結(jié)果了,再mysql中可以刷新看到,我輸出了一個(gè)提示 victory
3、數(shù)據(jù)庫(kù)插入操作
此處我只是隨便進(jìn)行了一個(gè)舉例,通過(guò)更改創(chuàng)建表時(shí)的操作可以插入不同類(lèi)型的數(shù)據(jù)
try: sql = "insert into test(FIRST_,SECOND_,THIRD_,FOURTH_,FIFTH_) values ('MAC','MOTH','20','M','2000')" # 運(yùn)行sql語(yǔ)句 cursor.execute(sql) # 修改 db.commit() # 關(guān)閉游標(biāo) cursor.close() # 關(guān)閉連接 db.close() print("victory!") except: print("false")
4、查詢其中一個(gè)表的數(shù)據(jù)
# 查詢語(yǔ)句 try: cursor = db.cursor() sql = "select * from student" cursor.execute(sql) result = cursor.fetchall() for data in result: print(data) except Exception: print("查詢失敗")
5、刪除表中的一條數(shù)據(jù)
# SQL 刪除語(yǔ)句 sql = "DELETE FROM student WHERE Sno='20111107'" try: # 執(zhí)行SQL語(yǔ)句 cursor.execute(sql) # 向數(shù)據(jù)庫(kù)提交 db.commit() except: # 發(fā)生錯(cuò)誤時(shí)回滾 db.rollback() # 關(guān)閉連接 db.close() # 成功提示 print("victory!")
注意:Python中的MySQL默認(rèn)事務(wù)打開(kāi),需要我們手動(dòng)提交事務(wù),否則操作無(wú)效
總結(jié)
到此這篇關(guān)于Python連接MySQL數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Python連接MySQL數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持
這篇文章主要介紹了Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持,僅供參考,需要的朋友可以參考下2015-07-07基于多進(jìn)程中APScheduler重復(fù)運(yùn)行的解決方法
今天小編就為大家分享一篇基于多進(jìn)程中APScheduler重復(fù)運(yùn)行的解決方法,具有很好的價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python 尋找局部最高點(diǎn)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python 尋找局部最高點(diǎn)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python數(shù)字轉(zhuǎn)對(duì)應(yīng)中文的方法總結(jié)
在本篇文章里小編給大家分享的是一篇關(guān)于python數(shù)字轉(zhuǎn)對(duì)應(yīng)中文的方法總結(jié)內(nèi)容,有興趣的朋友們可以跟著猜嘗試測(cè)試下。2021-08-08python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02python使用scrapy發(fā)送post請(qǐng)求的坑
這篇文章主要介紹了使用scrapy發(fā)送post請(qǐng)求的坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09