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)
转载于:https://www.cnblogs.com/kukai/p/10766375.html