通過 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:
(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:
(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:
(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:
(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...