python對MySQL進行曾刪改查

2022-07-07 02:00:32 字數 3056 閱讀 4126

通過 python 對mysql資料庫進行,查詢、修改、插入、刪除資料。

我們可以把這些方法封裝成乙個工具類,這樣需要用到對資料庫增刪改查,就直接呼叫工具類裡面方法進行操作。

這裡用到pymysql 庫;python利用這個庫對mysql做操作。前提是安裝該庫:

pip install pymysql

#

封裝成為乙個工具類

import

pymysql

class dd_mysql():#

定義乙個連線資料庫的類

def__init__(self,host,user,password,db,port):#

在建構函式裡面傳入連線資料庫需要的引數

'''連線資料庫所需要的引數

'''self.host =host

self.user =user

self.password =password

self.db =db

self.port =port

defconnect_db(self):

#建立乙個資料庫連線

try:

db=pymysql.connect(host=self.host,user=self.user,password=self.password,db=self.db,port=self.port)

return

db

except

exception as e :

print('

連線失敗

',e)

defselect_one(self,sql):

#封裝查詢第一行的方法

try:

db=self.connect_db() #

拿到乙個連線資料庫的物件

cursor=db.cursor() #

建立乙個游標物件(作用:執行sql語句,獲取返回值)

cursor.execute(sql)#

通過游標執行sql語句;通過游標物件呼叫execute方法執行sql語句、執行後的結果被儲存到了cursor物件中

db.commit() #

再往資料庫提交資料或者執行的請求

one=cursor.fetchone() #

通過游標返回表中的一行資料;fetchall方法會返回所有資料

return

one

except

exception as e:

print

(e) db.rollback()

#資料庫的回滾、把資料庫**的操作返回到上一次操作的狀態

defdelete_one(self,del_sql,sel_sql):

#封裝乙個刪除表中特定資料並且返回表中剩餘資料的工具方法

try:

db=self.connect_db()

cursor=db.cursor()

cursor.execute(del_sql) #刪除

cursor.execute(sel_sql) #

查詢刪除後表中剩餘的資料

db.commit()

all=cursor.fetchall()#

查詢多條語句

return

all

except

exception as e:

print

(e) db.rollback()

#插入一條資料到資料庫對應的表

definsert_noe(self,ins_sql):

try:

db=self.connect_db()

cursor=db.cursor()

cursor.execute(ins_sql)

#cursor.execute(sel_sql)

db.commit()

all=cursor.fetchone()

#cursor.close()

return

all

except

exception as e:

print

(e) db.rollback()

defselect_all(self,sql):

#封裝查詢所有資料的方法

try:

db=self.connect_db()

cursor=db.cursor()

cursor.execute(sql)

db.commit()

all=cursor.fetchall()

return

all

except

exception as e:

print

(e) db.rollback()

if__name__ == '

__main__':

#例項化dd_mysql類並傳入引數

db_mysql=dd_mysql('

192.168.31.103

','root

','123456

','finance

',3306)

#通過例項物件呼叫select_one 查詢方法

#restul=db_mysql.select_one('select * from bei5;')

#呼叫刪除方法,刪除後在呼叫查詢語句,查詢刪除後的結果

#restul=db_mysql.delete_one("delete from beifen where id=2;","select * from beifen;")

#呼叫insert_noe 方法往表裡插入資料

db_mysql.insert_noe("

insert into score3(s_id,score)values(2,334);")

restul=db_mysql.insert_noe("

select * from score3;")

print(restul)

BenchmarkSQL對mysql進行效能測試

ps 先在mysql中建立 root 使用者,或自定義其他使用者,配到props.mysql配置檔案中。登入mysql 建立tpcc資料庫用於測試 mysql uroot p create databases tpcc show databases use tpcc show tables 1.修改...

python 對字典進行排序

import itertools thekeys b a c thevalues bbb aaa cccc d dict itertools.izip thekeys,thevalues 建立字典 print d def sorteddictvalue adict keys adict.keys k...

python 對字典進行排序

python字典是無序的型別,有時候有需要對字典按照鍵或者按照值進行排序。為了完成排序。將字典值取出來寫到列表中再排序的方法是很愚蠢的。可以使用sorted函式來實現這個功能即sorted dict,value,reverse 需要匯入operator庫 如下 import operator dic...