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:
打開Anaconda,選擇 Environments 點(diǎn)擊右上方的的搜索框 輸入 pymysql

點(diǎn)擊方框,即可下載
方式一??:
此處我們可以選擇 spyder 或者 pycharm 首先為大家介紹一下 spyder 我們只需要直接導(dǎo)入 pymysql 庫(kù)即可

方式二??:
4、Pycharm下載pymysql
打開 Pycharm 選擇文件,點(diǎn)擊設(shè)置,

下劃,選擇python解釋器,這里我的Pycharm已經(jīng)配置了Anaconda環(huán)境

如果沒有查詢到 pymysql 可以在 Pycharm 終端中下載 pymysql 庫(kù)

以上我們的環(huán)境就準(zhǔn)備好了,下面我們進(jìn)行編寫程序 ?
二、代碼編寫,連接數(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í)的操作可以插入不同類型的數(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ù)打開,需要我們手動(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-07
Python 尋找局部最高點(diǎn)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python 尋找局部最高點(diǎn)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
python數(shù)字轉(zhuǎn)對(duì)應(yīng)中文的方法總結(jié)
在本篇文章里小編給大家分享的是一篇關(guān)于python數(shù)字轉(zhuǎn)對(duì)應(yīng)中文的方法總結(jié)內(nèi)容,有興趣的朋友們可以跟著猜嘗試測(cè)試下。2021-08-08
python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
python使用scrapy發(fā)送post請(qǐng)求的坑
這篇文章主要介紹了使用scrapy發(fā)送post請(qǐng)求的坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09

