十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
怎么在python中利用PYMYSQL對MYSQL數(shù)據(jù)庫進(jìn)行連接?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

什么是MYSQL數(shù)據(jù)庫
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一。
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個庫,Python2中則使用mysqldb。
PyMySQL 遵循 Python 數(shù)據(jù)庫 API v2.0 規(guī)范,并包含了 pure-Python MySQL 客戶端庫。
pip install pymysql
1、首先導(dǎo)入PyMySQL模塊
2、連接數(shù)據(jù)庫(通過connect())
3、創(chuàng)建一個數(shù)據(jù)庫對象 (通過cursor())
4、進(jìn)行對數(shù)據(jù)庫做增刪改查
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxxx', # 數(shù)據(jù)庫賬號 password='XXXX', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫表名# 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor()
db.fetchone()獲取一條數(shù)據(jù)
db.fetchall()獲取全部數(shù)據(jù)
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxxx', # 數(shù)據(jù)庫賬號 password='xxxx', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫名稱 # 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor() # 寫入SQL語句 sql = "select * from students " # 執(zhí)行sql命令 db.execute(sql) # 獲取一個查詢 # restul = db.fetchone() # 獲取全部的查詢內(nèi)容 restul = db.fetchall() print(restul) db.close()
commit() 執(zhí)行完SQL后需要提交保存內(nèi)容
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxx', # 數(shù)據(jù)庫賬號 password='xxx', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫表名 # 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor() # 寫入SQL語句 sql = "update students set age = '12' WHERE id=1" # 執(zhí)行sql命令 db.execute(sql) # 保存操作 count.commit() db.close()
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxxx', # 數(shù)據(jù)庫賬號 password='xxx', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫表名 # 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor() # 寫入SQL語句 sql = "delete from students where age = 12" # 執(zhí)行sql命令 db.execute(sql) # 保存提交 count.commit() db.close()
新增數(shù)據(jù)這里涉及到一個事務(wù)問題,事物機(jī)制可以保證數(shù)據(jù)的一致性,比如插入一個數(shù)據(jù),不會存在插入一半的情況,要么全部插入,要么都不插入
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxxx', # 數(shù)據(jù)庫賬號 password='xxx', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫表名 # 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor() # 寫入SQL語句 sql = "insert INTO students(id,name,age)VALUES (2,'安靜','26')" # 執(zhí)行sql命令 db.execute(sql) # 保存提交 count.commit() db.close()
到這可以發(fā)現(xiàn)除了查詢不需要保存,其他操作都要提交保存,并且還會發(fā)現(xiàn)刪除,修改,新增,只是修改了SQL,其他的沒什么變化
創(chuàng)建表首先我們先定義下表內(nèi)容的字段
| 字段名 | 含義 | 類型 |
| id | id | varchar |
| name | 姓名 | varchar |
| age | 年齡 | int |
# coding:utf-8 import pymysql # 連接數(shù)據(jù)庫 count = pymysql.connect( host = 'xx.xxx.xxx.xx', # 數(shù)據(jù)庫地址 port = 3306, # 數(shù)據(jù)庫端口號 user='xxxx', # 數(shù)據(jù)庫賬號 password='xxx', # 數(shù)據(jù)庫密碼 db = 'test_sll') # 數(shù)據(jù)庫表名 # 創(chuàng)建數(shù)據(jù)庫對象 db = count.cursor() # 寫入SQL語句 sql = 'CREATE TABLE students (id VARCHAR(255) ,name VARCHAR(255) ,age INT)' # 執(zhí)行sql命令 db.execute(sql) db.close()
看完上述內(nèi)容,你們掌握怎么在python中利用PYMYSQL對MYSQL數(shù)據(jù)庫進(jìn)行連接的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!