• sqlite简单封装


    import sqlite3


    class Sql_Demo(object):
    def __init__(self, datebase):
    self.conn = sqlite3.connect(datebase) # 创建connect对象
    self.cursor1 = self.conn.cursor() # 创建cursor对象
    self.message_error = "输入的sql语句有问题"
    self.message_erro_table = "此表已存在"
    self.message_delete = "删除成功"
    self.message_update = "更新成功"
    self.message_insert = "插入成功"

    # 创建表
    def create_table(self, sql):
    try:
    self.cursor1.execute(sql)
    except:
    print(self.message_erro_table)
    return False

    # 插入SQL处理 例如 insert into table_name(?,?) values(?,?)
    def sql_insert_format(self, sql, file_value):
    return sql.format(*file_value.keys(), *file_value.values())

    # 更新或删除的SQL处理 例如 selec * from table_name where id=?
    def sql_update_select_format(self, sql, values):
    return sql.format(**values)

    # 执行SQL方法
    def sql_execute(self, sql):
    self.cursor1.execute(sql)

    # 提交事务,关闭连接
    def sql_commit_close(self):
    self.conn.commit()
    self.conn.close()

    # 插入数据
    def insert(self, sql, file):
    try:
    for line in file:
    self.sql_execute(self.sql_insert_format(sql, line))
    except:
    print("插入失败")
    return False
    self.sql_commit_close()
    print(self.message_insert)

    # 查询所有数据
    def select_all(self, sql):
    try:
    self.sql_execute(sql)
    for line in self.cursor1.fetchall(): # 循环遍历获得结果集
    print(line)
    except:
    print(self.message_error)
    return False
    self.sql_commit_close()

    # 有条件查询数据
    def select(self, sql, line):
    try:
    self.sql_execute(self.sql_update_select_format(sql, line))
    for line in self.cursor1.fetchall(): # 循环遍历获得结果集
    print(line)

    except:
    print(self.message_error)
    return False

    self.sql_commit_close()

    # 删除全部数据
    def delete_all(self, sql):
    try:
    self.sql_execute(sql)
    except:
    print(self.message_error)
    return False
    self.sql_commit_close()
    print(self.message_delete)

    # 有条件的删除
    def delete(self, sql, file):
    try:
    for line in file:
    self.sql_execute(self.sql_update_select_format(sql, line))
    except:
    print(self.message_error)
    return False
    self.sql_commit_close()
    print(self.message_delete)

    # 更新数据
    def update(self, sql, file):
    try:
    for line in file:
    self.sql_execute(self.sql_update_select_format(sql, line))
    except:
    print(self.message_error)
    return False
    self.sql_commit_close()
    print(self.message_update)
  • 相关阅读:
    【洛谷P5514】永夜的报应【模拟】
    当你闲得无聊去编 C++「贪吃蛇」小游戏
    【牛客练习赛50】C
    【JZOJ3410】Tree【最小生成树】
    @Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用
    Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用
    读 Paxos 到 ZooKeeper ¥ 50大洋
    ZooKeeper 分布式锁
    UML 绘图关系
    Astah 使用 流程图、类图、时序图
  • 原文地址:https://www.cnblogs.com/kukai/p/10766375.html
Copyright © 2020-2023  润新知