python 使用 PyMySQL 連線資料庫

2021-10-03 14:44:42 字數 2821 閱讀 6158

安裝 pymysql

$ pip3 install pymysql

python 環境中匯入 pymysql

import pymysql

建立資料庫連線 db_connect

db_connect = pymysql.connect(

host='192.168.0.2', # 資料庫伺服器ip

port=3306, # mysql訪問埠

user='root', # mysql資料庫登陸使用者名稱

passwd='root', # mysql資料庫登陸密碼

db='db_test', # mysql中資料庫

charset='utf8' # 設定字元型別

)

定義游標物件 cursor

db_cursor = db_connect.cursor()

返回資料結構類似為:

(

('inftion_schma',),

('aup_beta',),

('demo',),

('far_basic',),

('mysql',),

('pemance_schema',),

('resurce',)

)

db_cursor = db_connect.cursor(cursor = pymysql.cursors.dictcursor)    # 設定為返回字典型別的資料

[

, ,

, ,

, ,

]

定義操作mysql 資料庫的sql語句

db_sql = '''[sql語句]'''

游標物件呼叫 execute() 方法執行sql語句

db_cursor.execute(db_sql)

對處理mysql資料庫的幾種事務分類討論

查詢操作

如果是查詢操作,需要獲取查詢結果

使用 fetchone() 方法獲取單條資料  data = db_cursor.fetchone()  

data是乙個結果集是乙個物件

使用 fetchall() 方法獲取全部資料  data = db_cursor.fetchall()  

建立資料表

db_cursor.execute([建立資料表的sql語句])

更新操作

db_cursor.execute([更新資料表的sql語句])

db_connect.commit()       # 提交到資料庫執行

插入操作

db_cursor.execute([插入資料表的sql語句])

db_connect.commit()       # 提交到資料庫執行

刪除操作

db_cursor.execute([刪除資料表的sql語句])

db_connect.commit()       # 提交到資料庫執行

關閉游標物件

db_cursor.close()

關閉資料庫連線

db_connect.close()

建立資料庫連線類 class db()      (摘自

import pymysql

class db():

def __init__(self, host='localhost', port=3306, db='db_test', user='root', passwd='root', charset='utf8'):

# 建立連線

self.db_connect = pymysql.connect(host=host, port=port, db=db, user=user, passwd=passwd, charset=charset)

# 建立游標,操作設定為字典型別

self.db_cursor = self.db_connect.cursor(cursor = pymysql.cursors.dictcursor)

def __enter__(self): # __enter__ 方法在with上下文協議中,開始執行with語句時觸發該方法

# 返回游標

return self.db_cursor

def __exit__(self, exc_type, exc_val, exc_tb): # __exit__ 方法在with上下文協議中,當執行完with語句時觸發該方法,

# exc_type:如果丟擲異常,這裡獲取異常的型別

# exc_val:如果丟擲異常,這裡顯示異常內容

# exc_tb:如果丟擲異常,這裡顯示所在位置

# 提交資料庫並執行

self.db_connect.commit()

# 關閉游標

self.db_cursor.close()

# 關閉資料庫連線

self.db_connect.close()

if __name__ == '__main__':

with db(host='192.168.0.2',user='root',passwd='root',db='db_test_table') as db:

db.execute('select * from [db_table]')

print(db)

for i in db:

print(i)

對連線類 db() 中with 的上下文協議作出解釋 

Python使用pymysql鏈結mysql資料庫

先安裝pymysql如下圖 author pythontab.com 可有可無 匯入pymysql的包 import pymysql try 獲取乙個資料庫連線,注意如果是utf 8型別的,需要制定資料庫 conn pymysql.connect host localhost user root p...

Python使用PyMySQL連線MySQL資料庫

目錄 環境要求 安裝 示例mysql 版本 因為我們本地安裝python的時候,一般都會安裝好pip工具,所以我們可以直接使用pip命令安裝pymysql 如果不會安裝python的朋友們可以看下我的安裝python文章 pip install pymysql出現以下提示就表示安裝成功了 windo...

python使用pymysql把資料寫入mysql

簡單粗暴直接上 import pymysql import requests from lxml import etree def connect 連線本地資料庫 db pymysql.connect host localhost user root password bbqbbq database...