Python sqllite3数据库相关问题分享
注意下面
如果有车载讨论需要的小伙伴,可以私信加我微信
,拉你进群,和同行业大佬交流
注意上面
前言
最近在用sqllite3数据,虽然之前用过,再次使用仍旧出现了一些问题,在这里记录下
提示:以下是本篇文章正文内容,下面案例可供参考
一、关于sqllite3代码和问题
1.源码分享
代码如下(示例):
import sqlite3
class MyDB():
def __init__(self,dblist):
self.__conn = sqlite3.connect('config.db', check_same_thread=False)
self.__cur = self.__conn.cursor()
self.create(dblist)
def createdb(self,sql1):
self.__cur.execute(sql1)
def create(self,dblist):
sql1 = 'CREATE TABLE IF NOT EXISTS config (\n'
for m in dblist:
sql2 = '{} {} NULL,\n'.format(m.name,m.attrib)
sql1 += sql2
sql1=sql1.strip('\n').strip(',')
end = ');'
sql1 += end
self.createdb(sql1)
def add(self,datalist):
tempdata = []
add_sql = '''INSERT INTO config values ('''
data_sql =('?,'*len(datalist)).strip(',')+')'
for value in datalist:
tempdata.append(value)
add = add_sql+data_sql
data =tuple(tempdata)
self.__cur.execute(add,data)
self.__conn.commit()
def fetchone(self,datatype,fetdata):
fetchone_sql = 'SELECT * FROM config WHERE {} = \'{}\' '.format(datatype,fetdata)
self.__cur.execute(fetchone_sql)
result = self.__cur.fetchone()
return result
def fetchall(self):
fet_sql = 'SELECT * FROM config'
self.__cur.execute(fet_sql)
result = self.__cur.fetchall()
return result
def delete(self,datatype,data):
delete_sql = "delete from config where {}=\'{}\';".format(datatype,data)
self.__cur.execute(delete_sql)
self.__conn.commit()
2.问题记录分享
1.'CREATE TABLE IF NOT EXISTS config',这句话的作用是当config这个表存在时则不创建
2.from config where {}=\'{}\',这里的\'{}\'你得先确定需要输入的是字符串还是其他类型
总结
时时记录问题,防止以后存在遗忘
写在结尾
我是一名车载集成测试开发工程师,希望能和志同道合的朋友一起相互学习进步