python對mysql的操作二

2021-08-11 03:35:04 字數 2370 閱讀 6624

# 游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制

# 游標總是與一條sql 選擇語句相關聯因為游標由結果集

# (可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成

import mysqldb

def

connect_mysql():

db_config =

cnx = mysqldb.connect(**db_config)

return cnx

if __name__ == '__main__':

cnx = connect_mysql()

cus = cnx.cursor() # 建立游標物件

sql = '''select * from test;'''

try:

cus.execute(sql)

result1 = cus.fetchone() #在結果中取一條資料

print('result1:')

print(result1)

result2 = cus.fetchmany(1) #在接下來的結果中取一條資料,數字可定義

print('result2:')

print(result2)

result3 = cus.fetchall() #在接下來的結果中取出所有資料

print('result3:')

print(result3)

cus.close()

cnx.commit()

except

exception

as e:

cnx.rollback()

print('error:')

raise e

finally:

cnx.close()

# 常用方法:

# cursor():建立游標物件

# close():關閉此游標物件

# fetchone():得到結果集的下一行

# fetchmany([size = cursor.arraysize]):得到結果集的下幾行

# fetchall():得到結果集中剩下的所有行

# excute(sql[, args]):執行乙個資料庫查詢或命令

# executemany (sql, args):執行多個資料庫查詢或命令

執行結果:

result1:

(100l,)

result2:

((2l,),)

result3:

((5l,), (8l,), (11l,))

dbutils提供兩種外部介面:

* persistentdb :提供執行緒專用的資料庫連線,並自動管理連線。

* pooleddb :提供執行緒間可共享的資料庫連線,並自動管理連線。

import mysqldb

from dbutils.pooleddb import pooleddb

db_config =

pool = pooleddb(mysqldb,

5, **db_config) # 5為連線池裡的最少連線數

conn = pool.connection() # 以後每次需要資料庫連線就是用connection()函式獲取連線就好了

cur = conn.cursor()

sql = "select * from tmp;"

r = cur.execute(sql)

r = cur.fetchall()

print(r)

cur.close()

conn.close()

pooleddb的引數:

1. mincached,最少的空閒連線數,如果空閒連線數小於這個數,pool會建立乙個新的連線

2. maxcached,最大的空閒連線數,如果空閒連線數大於這個數,pool會關閉空閒連線

3. maxconnections,最大的連線數,

4. blocking,當連線數達到最大的連線數時,在請求連線的時候,如果這個值是true,請求連線的程式會一直等待,直到當前連線數小於最大連線數,如果這個值是false,會報錯,

5. maxshared 當連線數達到這個數,新請求的連線會分享已經分配出去的連線

連線池對效能的提公升表現在:

1.在程式建立連線的時候,可以從乙個空閒的連線中獲取,不需要重新初始化連線,提公升獲取連線的速度

2.關閉連線的時候,把連線放回連線池,而不是真正的關閉,所以可以減少頻繁地開啟和關閉連線

在操作設計資料庫之前,我們先要設計資料庫表結構,先要分析各個主體他們之間有什麼屬性,並確定表結構,在實際開發過程中,根據自己的業務需要和屬性,設計不同的表結構

python對mysql的操作

安裝好了 mysqldb並將其移動到site packages裡面,我們在程式便可以呼叫了。1.與資料庫建立連線 import mysqldb try cxn mysqldb.connect host localhost user root passwd root db python except ...

python 對mysql的基本操作

朋友面試,幫用python寫的資料庫基礎操作 import mysqldb conn mysqldb.connect host localhost port 3306 user root passwd mima123456 db test1 charset utf8 c conn.cursor 游標...

用Python對MySQL簡單操作

import pymysql 連線資料庫 conn pymysql.connect host localhost user root password helloguitar532123 charset utf8 獲得浮標 cursor conn.cursor 建立資料庫 sql create cr...