python 操作sqlite 数据库
'''SQLite 首先介绍一下sqlite 数据库 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统 比起Mysql、PostgreSQL这两款开源的世界 著名数据库管理系统来讲,它的处理速度比他们都快 SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、 延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事 务的时候锁定整个数据文件而完成的 好了 先简单介绍点 下面主要说 python 如何使用: look:'''
from pysqlite2 import dbapi2 as sqlite
def c_sqlite():
"""
创建数据表
:return:
"""
conn = sqlite.connect('/opt/aurora/var/task_id.db') # 链接数据库
conn.text_factory = str
cur = conn.cursor() # 游标
c_sql = '''
CREATE TABLE IF NOT EXISTS task_id_table (
id INTEGER PRIMARY KEY,
ipAddress TEXT,
platform_id TEXT,
count_id TEXT,
task_id TEXT);
'''
cur.execute(c_sql)
conn.commit()
cur.close()
def i_sqlite(item, taskid): """
数据插入
更新
:return:
"""
conn = sqlite.connect('/opt/aurora/var/task_id.db')
conn.text_factory = str
cur = conn.cursor()
sql1 = '''
SELECT count(platform_id) FROM task_id_table WHERE platform_id =? # 部分有个人逻辑 请自行忽略
'''
record = [taskid]
cur.execute(sql1, record)
res = cur.fetchall()[0][0]
if res < 1:
sql = '''
INSERT INTO task_id_table(ipAddress, platform_id,count_id) VALUES (?,?,?) #注意占位符
'''
item.append('1')
record = item
cur.execute(sql, record)
conn.commit()
else:
sql = '''
UPDATE task_id_table SET count_id = ? WHERE platform_id == ?
'''
record = []
record.append('2')
record.append(item[1])
cur.execute(sql, record)
conn.commit()
cur.close()
#ok
#This is simple
#operation.
本文来自博客园,作者:南鱼羁荒渡,转载请注明原文链接:https://www.cnblogs.com/nanyu/p/11393249.html