https://www.cndba.cn/dave/article/2154https://www.cndba.cn/dave/article/2154
https://www.cndba.cn/dave/article/2154
https://www.cndba.cn/dave/article/2154https://www.cndba.cn/dave/article/2154
https://www.cndba.cn/dave/article/2154https://www.cndba.cn/dave/article/2154https://www.cndba.cn/dave/article/2154
#encoding: utf-8
import sqlite3
import os
class MySqLite(object):
"""
SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。
在python中,使用sqlite3创建数据库的连接,当我们指定的数据库文件不存在的时候连接对象会自动创建数据库文件;
如果数据库文件已经存在,则连接对象不会再创建数据库文件,而是直接打开该数据库文件。
对于数据库链接对象来说,具有以下操作:
commit() --事务提交
rollback() --事务回滚
close() --关闭一个数据库链接
cursor() --创建一个游标
cu = conn.cursor()
这样我们就创建了一个游标对象:cu
在sqlite3中,所有sql语句的执行都要在游标对象的参与下完成
对于游标对象cu,具有以下具体操作:
execute() --执行一条sql语句
executemany() --执行多条sql语句
close() --游标关闭
fetchone() --从结果中取出一条记录
fetchmany() --从结果中取出多条记录
fetchall() --从结果中取出所有记录
scroll() --游标滚动
update() --更新数据
delete() --删除数据
"""
# 是否打印sql
SHOW_SQL = True
def __init__(self, path):
self.path = path
def get_conn(self):
"""
获取数据库连接
"""
try:
conn = sqlite3.connect(self.path)
"""
该参数是为了解决一下错误:
ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str).
It is highly recommended that you instead just switch your application to Unicode strings.
"""
# conn.text_factory = lambda x: unicode(x, 'utf-8', 'ignore')
conn.text_factory