Python将Sqlite3查询结果保存为字典形式(python sqlite3 数据类型)

网友投稿 335 2022-06-26


import sqlite3

import os

class DBOperate:

def __init__(self,dbPath=os.path.join(os.getcwd(),"db")):

self.dbPath=dbPath

self.connect=sqlite3.connect(self.dbPath)

def Query(self,sql:str)->list:

""""""

queryResult = self.connect.cursor().execute(sql).fetchall()

return queryResult

def QueryAsDict(self,sql:str)->dict:

"""调用该函数返回结果为字典形式"""

self.connect.row_factory=self.dictFactory

cur=self.connect.cursor()

queryResult=cur.execute(sql).fetchall()

return queryResult

def Insert(self,sql:str):

print(f"执行的sql语句为\n{sql}")

self.connect.cursor().execute(sql)

self.connect.commit()

def Update(self,sql:str):

self.connect.cursor().execute(sql)

self.connect.commit()

def Delete(self,sql:str):

self.connect.cursor().execute(sql)

self.connect.commit()

def CloseDB(self):

self.connect.cursor().close()

self.connect.close()

def dictFactory(self,cursor,row):

"""将sql查询结果整理成字典形式"""

d={}

for index,col in enumerate(cursor.description):

d[col[0]]=row[index]

return d

if __name__ == '__main__':

db=DBOperate()

# insertSql="""REPLACE INTO sample_list (ID,case_name,total_number,selected_number,ADic,MDic_R,

# MDic_C,MFCA,FCCA,check_status,check_person,check_time,review_status,review_person,

# review_time,report_status,report_person,report_time)

# VALUES( 'Test-1','unknown',132,12,1,2,3,4,5,'已检查','admin','2020-04-22 17:22:23',

# '通过','admina','2020-04-22 17:22:25','已生成','admina','2020-04-22 17:26:23')"""

sql=f"""SELECT * FROM config_paras"""

db.Query(sql)

# print(db.Query("SELECT * FROM sample_list"))

来源: http://jianshu.com/u/28161b7c9995/


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Shell脚本批量启停Docker(shell脚本设置开机自启动)
下一篇:Python添加用户判断(python可以让用户输入的信息是)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~