Skip to main content
 首頁 » 程序教程

Python的PyMYSQL模塊用法實例

2016年09月08日138831

Python連接MYSQL的方案有MySQLdb、oursql、PyMySQL、 myconnpy、MySQL Connector等,不過本篇主要是說的PyMySQL模塊。Python的MySQLdb模塊支持的版本較低,PyMySQL模塊操作基本與MySQLdb操作一致,是一個不錯的替代品。下面就來看看Python的PyMYSQL模塊用法實例吧。

基本操作

(1)導入pymysql

 import pymysql

(2)連接數據庫:

 conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')

務必注意各等號前面的內容!charset參數可避免中文亂碼

(3)獲取操作游標:

 cur=conn.cursor()

(4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功后sta值為1。更新、刪除語句與此類似。

(5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功后cur變量中保存了查詢結果記錄集,然后再用循環打印結果,如果是中文則需要處理編碼。

代碼實例

以下是PyMYSQL的完整代碼示例:

#!/usr/bin/env python
# encoding: utf-8
import pymysql

# 創建數據庫連接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="root", db="test", charset='utf8')
# 創建數據庫游標
cursor = conn.cursor()
# 執行SQL語句,中文要特別注意編碼的問題
effect_row = cursor.execute("INSERT INTO `tb_user`(user,password) VALUES (%s, %s)",
                            ("風輕情淡".encode("utf-8"), "12345678"))
# 獲取最新的自增ID
new_id = cursor.lastrowid
print(new_id)
# 獲取影響的表行數
print(effect_row)
data = cursor.execute("SELECT user,password FROM `tb_user`")
# 獲取所有結果
ret1 = cursor.fetchall()
print(ret1)
print("----------------------")
# 獲取查詢結果前兩行數據
ret2 = cursor.fetchmany(2)
print(ret2)
print("------------------------------")
# 獲取查詢結果第一行數據
ret3 = cursor.fetchone()
print(ret3)
# 提交連接執行SQL語句
# 相對當前位置移動游標
cursor.scroll(-1, mode='relative')
# 相對絕對位置移動游標
cursor.scroll(2, mode='absolute')
conn.commit()
# 關閉數據庫游標
cursor.close()
# 關閉數據庫連接
conn.close()
評論列表1條評論
鑫鑫財經
鑫鑫財經回復 文章寫得不錯,非常喜歡
發表評論
中文字幕亚洲欧美|欧美97人人模人人爽|av鲁丝一区鲁丝二区鲁丝三区|巨大黑人极品VIDEOS精品