Python連接MySQL數(shù)據(jù)庫的簡單便捷方法
??,本文中,使用到的工具有:Pycharm,Anaconda,MySQL 5.5,spyder(Anaconda)
什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2 中則使用 mysqldb。
一、環(huán)境準備
1、安裝pymysql:
進行Python連接mysql數(shù)據(jù)庫之前,需要先安裝一下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 點擊右上方的的搜索框 輸入 pymysql
點擊方框,即可下載
方式一??:
此處我們可以選擇 spyder 或者 pycharm 首先為大家介紹一下 spyder 我們只需要直接導入 pymysql 庫即可
方式二??:
4、Pycharm下載pymysql
打開 Pycharm 選擇文件,點擊設置,
下劃,選擇python解釋器,這里我的Pycharm已經(jīng)配置了Anaconda環(huán)境
如果沒有查詢到 pymysql 可以在 Pycharm 終端中下載 pymysql 庫
以上我們的環(huán)境就準備好了,下面我們進行編寫程序 ?
二、代碼編寫,連接數(shù)據(jù)庫
1、導入數(shù)據(jù)庫表
import pymysql
數(shù)據(jù)庫連接:
連接數(shù)據(jù)庫前,請先確認以下事項:
- 連接數(shù)據(jù)庫使用的用戶名為 "root" ,密碼為 "dai324542",創(chuàng)建了數(shù)據(jù)庫 runoob
- 你可以自己設定或者直接使用root用戶名及其密碼
db = pymysql.connect(host='localhost', user='root', password='dai324542', database='runoob', charset='utf8') # 使用 cursor() 方法創(chuàng)建一個游標對象 cursor cursor = db.cursor() # 使用 execute() 方法執(zhí)行 SQL 查詢 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法獲取單條數(shù)據(jù). data = cursor.fetchone() print ("數(shù)據(jù)庫連接成功!") # 關(guān)閉數(shù)據(jù)庫連接 db.close()
2、創(chuàng)建數(shù)據(jù)庫表
# 創(chuàng)建表 sql="""CREATE TABLE test ( FIRST_ CHAR(20) NOT NULL, SECOND_ CHAR(20), THIRD_ INT, FOURTH_ CHAR(1), FIFTH_ FLOAT )""" # 運行sql語句 cursor.execute(sql)
這里我們所運用的sql語句是不是很熟悉了??
下面即是運行結(jié)果了,再mysql中可以刷新看到,我輸出了一個提示 victory
3、數(shù)據(jù)庫插入操作
此處我只是隨便進行了一個舉例,通過更改創(chuàng)建表時的操作可以插入不同類型的數(shù)據(jù)
try: sql = "insert into test(FIRST_,SECOND_,THIRD_,FOURTH_,FIFTH_) values ('MAC','MOTH','20','M','2000')" # 運行sql語句 cursor.execute(sql) # 修改 db.commit() # 關(guān)閉游標 cursor.close() # 關(guān)閉連接 db.close() print("victory!") except: print("false")
4、查詢其中一個表的數(shù)據(jù)
# 查詢語句 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 刪除語句 sql = "DELETE FROM student WHERE Sno='20111107'" try: # 執(zhí)行SQL語句 cursor.execute(sql) # 向數(shù)據(jù)庫提交 db.commit() except: # 發(fā)生錯誤時回滾 db.rollback() # 關(guān)閉連接 db.close() # 成功提示 print("victory!")
注意:Python中的MySQL默認事務打開,需要我們手動提交事務,否則操作無效
總結(jié)
到此這篇關(guān)于Python連接MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python連接MySQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django查找網(wǎng)站項目根目錄和對正則表達式的支持
這篇文章主要介紹了Django查找網(wǎng)站項目根目錄和對正則表達式的支持,僅供參考,需要的朋友可以參考下2015-07-07python數(shù)字轉(zhuǎn)對應中文的方法總結(jié)
在本篇文章里小編給大家分享的是一篇關(guān)于python數(shù)字轉(zhuǎn)對應中文的方法總結(jié)內(nèi)容,有興趣的朋友們可以跟著猜嘗試測試下。2021-08-08