python sqlite库,python+sqlite
本文主要介绍python处理SQLite数据库的方法。python处理数据库非常简单。此外,不同类型的数据库具有相似的逻辑处理方式。以sqlite数据库为例,介绍如何操作python数据库。有需要的朋友可以参考一下,希望能帮到你。
00-1010前言:1。安装3、数据库连接、关闭等。4.表格操作1,创建数据表2,显示数据表编号3,删除数据表5,Cusor 6的一些方法。SQL操作1、检查2、添加3、删除4、更改7、常用SQL语句8、row_factory高级操作1、使用2、循环输出所有值9、示例
目录
数据库很重要,程序添加、删除、检查数据都是必须的。Python处理数据库非常简单。此外,不同类型的数据库具有相似的逻辑处理方式。以sqlite数据库为例,介绍python操作数据库的方法。
Python sqlite3官方文档
前言:
pip3安装pysqlite3
一、安装
导入sqlite3
#连接到数据库(如果不存在,则创建它)
conn=sqlite3.connect(test.db )
打印(“成功打开数据库”)
#创建光标
cursor=conn.cursor()
#关闭光标
cursor.close()
#提交东西
conn.commit()
#关闭连接
conn.close()
三、数据库连接、关闭等
四、表操作
导入sqlite3
conn=sqlite3.connect(test.db )
打印(“数据库成功打开”)
c=conn.cursor()
c.execute( 创建表公司
(ID INT主键不为空,
名称文本不为空,
AGE INT不为空,
地址充电器(50),
工资实);)
打印(“数据表创建成功”)
conn.commit()
conn.close()
1、创建数据表
SQL= select name from SQLite _ master where type= table order by name
tables=cursor.execute(sql)。fetchall()
打印(len(表格))
2、显示数据表数目
sql=删除表database_name.table_name
游标. execute(sql)
3、删除数据表
费特乔内()
获取查询结果集的下一行。
fetch many(size=cursor . array size)
拿到支票
询结果的下一组行,返回一个列表。
fetchall()
取查询结果的所有(剩余)行,返回一个列表。请注意,游标的 arraysize 属性会影响此操作的性能。当没有行可用时返回一个空列表。
注:fetchall()用来统计表记录时,在开头用一次,再用则查询为空
.description显示字段信息,返回列表。
六、SQL操作
1、查
...
2、增
...
3、删
sql语句换一下即可,看下一节的SQL语句。
4、改
sql语句换一下即可,看下一节的SQL语句。
七、SQL常用语句
# 增 两种方法
八、row_factory 高级操作
这是对row_factory的官方解释(官方解释直接忽略就好,看我下面的解释):A Row instance serves as a highly optimized row_factory for Connection objects. It tries to mimic a tuple in most of its features.
It supports mapping access by column name and index, iteration, representation, equality testing and len().
If two Row objects have exactly the same columns and their members are equal, they compare equal.
基础Cursor
对象只能通过数字索引来获取值,但是我想通过列名来获取值是做不到的。虽然可以使用Cursor.description
来获取字段名称,但是自己做映射写代码很麻烦。
本着简约代码(懒)的原则,python推出了Cursor.Row
对象。其实就是列名和值做了个映射,可以通过字符索引来获取值。很方便。
升级过程也简单,就加一句话:conn.row_factory = sqlite3.Row
看例子:
1、使用
import sqlite3
2、循环输出所有值
# ...上接上面的第一块内容
九、实例
1、从sqlite数据库中返回json格式数据
description: 根据输入条件,从sqlite数据库中返回JSON数据 param {*} db_name:str 数据库名称 param {*} fields:list 筛选的字段 param {*} table_name:str 要查询的表名 param {*} condition:str 查询的条件,注意条件的值是字符串的话需要转义 return {*} json author: https://blog.csdn.net/Crayonxin2000 def returnJsonFromSqlite(db_name,fields,table_name,condition): data = {} rows = [] # 数据 conn = connectSqlite(db_name) conn.row_factory = sqlite3.Row cursor = conn.cursor() fields_str = ",".join(fields) # 列表转字段,fields为所有的字段 if condition=="" or condition==None: sql="SELECT {} from {} ".format(fields_str,table_name) else: sql="SELECT {} from {} WHERE {}".format(fields_str,table_name,condition) print(sql) result=cursor.execute(sql) for item in result: row = [] for field in fields: row.append(item[field]) rows.append(row) data["header"] = fields data["rows"] = rows # 关闭数据库 cursor.close() conn.close() return jsonify(data)
注:data是字典,我用flask的jsonify工具JSON化了,你可以使用其他工具。
到此这篇关于python
处理SQLite
数据库的方法的文章就介绍到这了,更多相关python处理SQLite数据库内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。