DBUtils Python資料庫連線池

2022-02-28 05:17:35 字數 2556 閱讀 1608

flask沒有orm操作這一功能,

但是想要運算元據庫怎麼辦呢,

使用第三方包dbutils

查詢需要sql原生語句!

使用pycharm直接搜尋dbutils

from

dbutils.pooleddb import pooleddb

import pymysql

class mysqlhelper(object

): def __init__(self, host, port, dbuser, password, database):

self.pool =pooleddb(

creator=pymysql, # 使用鏈結資料庫的模組

maxconnections=6

, # 連線池允許的最大連線數,0和none表示不限制連線數

mincached=2

, # 初始化時,鏈結池中至少建立的空閒的鏈結,0表示不建立

maxcached=5

, # 鏈結池中最多閒置的鏈結,0和none不限制

maxshared=3

, # 鏈結池中最多共享的鏈結數量,0和none表示全部共享。ps: 無用,因為pymysql和mysqldb等模組的 threadsafety都為1,所有值無論設定為多少,_maxcached永遠為0,所以永遠是所有鏈結都共享。

blocking=true, # 連線池中如果沒有可用連線後,是否阻塞等待。true,等待;false,不等待然後報錯

maxusage=none, # 乙個鏈結最多被重複使用的次數,none表示無限制

setsession=, # 開始會話前執行的命令列表。如:["

set datestyle to ...

", "

set time zone ..."]

ping=0

, # ping mysql服務端,檢查是否服務可用。# 如:

0 = none = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 =always

host=host,

port=int

(port),

user=dbuser,

password=password,

database=database,

charset='

utf8')

def create_conn_cursor(self):

conn =self.pool.connection()

cursor =conn.cursor(pymysql.cursors.dictcursor)

return

conn, cursor

def fetch_all(self, sql, args):

conn, cursor =self.create_conn_cursor()

cursor.execute(sql, args)

result =cursor.fetchall()

cursor.close()

conn.close()

return

result

def insert_one(self, sql, args):

conn, cursor =self.create_conn_cursor()

res =cursor.execute(sql, args)

conn.commit()

conn.close()

return

res def update(self, sql, args):

conn, cursor =self.create_conn_cursor()

res =cursor.execute(sql, args)

conn.commit()

print(res)

conn.close()

return

ressqlhelper = mysqlhelper("

127.0.0.1

", 3306, "

root

", "

123", "

db7"

)# res = sqlhelper.fetch_all("

select * from userinfo where id=%s

",(5

,))# print(res)

# res = sqlhelper.insert_one("

insert into userinfo values (%s,%s,%s)

",(7,"

jinwangba

","66666"))

# print(res)

# sqlhelper.update(

"update user set name=%s where id=%s

",("

yinwangba

",1))

資料探勘 資料

對關注的屬性,樣本與原始資料集有相同的性質,則用抽樣計算的結果與全集是一樣。1.1 抽樣的方法 1 簡單隨機抽樣 random sampling 放回 不放回 2 分層抽樣 stratified sampling 如果資料集不同型別的資料數量差異過大,則隨機抽樣會丟失數量少的樣本。可針對不同資料組,...

大資料資料

作業系統 核心 分配和管理硬體 庫 沒有入口的應用軟體 應用軟體 1 設定網絡卡為nat模式 2 確保windows下的服務是否啟動 dhcp,net服務 3 編輯檔案 vi etc sysconfig network scripts ifcfg eth0 4 onboot yes 5 設定ip s...

大資料 資料分析 資料探勘

在大資料領域裡,經常會看到例如資料探勘 olap 資料分析等等的專業詞彙。如果僅僅從字面上,我們很難說清楚每個詞彙的意義和差別。大講台老師通過一些大資料在高校應用的例子,來為大家說明白 資料探勘 大資料 olap 資料統計的區別。一 資料分析 資料分析是乙個大的概念,理論上任何對資料進行計算 處理從...