程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python操作mysql數據庫

編輯:Python

因為Python和MySQL是2套軟件,所以在互相交互的時候需要一個 “橋梁”。

這個“橋梁”就是驅動!

mysqldb又叫MySQL-python 優點:基於C開發的庫,速度快 缺點:在 Windows 平台安裝非常不友好,經常出現失敗的情況,多年不更新了,只兼容 python2 mysqlclient 優點:基於C開發的庫,速度快,兼容python3 缺點:編譯安裝可能會導致報各種錯誤 pymysql 優點:純 Python 實現的驅動,兼容python3,使用簡單 缺點:速度不如mysqldb

 

pymysql模塊中的函數 連接數據庫函數 connect函數:連接數據庫,根據連接的數據庫類型不同,該函數 的參數也不同。connect函數返回Connection對象。
import pymysql
#獲取連接
con =
pymysql.connect(host="localhost",port=3306,us
er="root",password="root",db="test06",charset
='utf8')

獲取游標 cursor方法:獲取操作數據庫的Cursor對象,包含了很多操作數據的 方法。cursor方法屬於Connection對象。 執行sql語句 執行單條sql語句函數作用:執行單條的sql語句,執行成功後返回受影響的行數 參數說明: query:要執行的sql語句,字符串類型 args:嵌套的序列或映射,用於query的參數值 提交事務 commit方法:在修改數據庫後,需要調用該方法提交對數據庫的修 改。rollback方法:如果修改數據庫失敗,一般需要調用該方法進行數 據庫回滾,也就是將數據庫恢復成修改之前的樣子。 創建數據庫和表
import pymysql
【示例】創建數據表
# 鏈接數據庫
con =
pymysql.connect(host='localhost',port=3306,u
ser='root',passwd='root',charset='utf8')
# 獲取一個和數據庫交互的工具cursor
coursor = con.cursor()
# 編寫SQL
sql = '''
CREATE DATABASE sxt
  DEFAULT CHARACTER SET = 'utf8mb4';
'''
# 執行SQL
coursor.execute(sql)
# 關閉cursor
coursor.close()
# 關閉鏈接
con.close()

注意 在python的pymysql模塊,如果需要操作DML語句,需要手動提 交事務 con.commit()插入數據
def add_one():
   # 鏈接數據庫
   con  =
pymysql.connect(host='localhost',port=3306,
user='root',passwd='root',db='sxt',charset='
utf8')
   # 獲取操作數據的對象 cursor
   cursor = con.cursor()
   # 編寫SQL-DML
   # sql = "INSERT INTO t_user VALUES
(0,'貂的蟬',18,'女');"
   sql = "INSERT INTO t_user VALUES
(0,%s,%s,%s);"
   args = ('劉備',22,'男')
   # 執行SQL
   cursor.execute(sql,args)
   # 提交事務
9
   con.commit()
   # 關閉Cursor
   cursor.close()
   # 關閉鏈接
   con.close()

Python操作DML語句-更新刪除數據
#將id=2的年齡修改為18
sql='update t_user set age=%s where id=%s'
cursor.execute(sql,(18,2))

【示例】刪除數據
#導入模塊
import pymysql
#創建連接
con =
pymysql.connect(host='localhost',user='root'
,password='root',db='db_test',charset='utf8'
)
                   
#創建游標對象cursor
cursor=con.cursor()
#刪除id=2
sql='delete from t_user where id=2'
#執行sql
cursor.execute(sql)
con.commit()


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved