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