Python sqlite3查询操作过程解析
这篇文章主要介绍了Pythonsqlite3查询操作过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
记录查询操作及获取查询结果列字段的方法
1.sqlite3中获取所有表名及各表字段名的操作方法
SQLite数据库中有一个特殊的表叫sqlite_master,sqlite_master的结构如下:
CREATETABLEsqlite_master( typeTEXT, nameTEXT, tbl_nameTEXT, rootpageINTEGER, sqlTEXT );
可以通过查询这个表来获取数据库中所有表的信息
SELECT*FROMsqlite_masterWHEREtype='table';
查询某张表的所有字段
PRAGMAtable_info(表名); 示例: PRAGMAtable_info(sqlite_sequence);
2.python操作sqlite3,获取sql查询结果及对应查询结果的列名的方法
classDBOperate(object): """ 数据库操作类 """ def__init__(self,db_file_path): #连接sqlitedb #关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令, #设置isolation_level=None,变为自动提交模式 self._db_file_path=db_file_path self.conn=sqlite3.connect(self._db_file_path,check_same_thread=False,isolation_level=None,timeout=1000) #创建游标 self.cur=self.conn.cursor() defqueryall(self,sql): """ 查询所有的数据及对应的列名 :paramsql: :return: """ self.cur.execute(sql) #TODO获取查询结果的列名 columns_tuple=self.cur.description #columns_tuple示例:(('TACHE_NAME',None,None,None,None,None,None),('avgtime',None,None,None,None,None,None),('DATE',None,None,None,None,None,None),('ANALYSIS_TIME',None,None,None,None,None,None)) columns_list=[field_tuple[0]forfield_tupleincolumns_tuple] #TODO获取查询结果 query_result=self.cur.fetchall() self.cur.close() returnquery_result,columns_list defclose(self): """ 关闭数据库连接 :return: """ ifself.curisnotNone: self.cur.close() ifself.connisnotNone: self.conn.close()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。