Python Sqlite3模块封装范例
以下是一个简单的Python Sqlite3模块的封装示例,用于创建数据库连接、执行查询和关闭连接的函数。
import sqlite3
class Database:
def __init__(self, db_file):
self.connection = None
self.db_file = db_file
def connect(self):
self.connection = sqlite3.connect(self.db_file)
self.cursor = self.connection.cursor()
def execute_query(self, query, params=()):
self.connect()
cursor = self.connection.cursor()
result = cursor.execute(query, params)
self.connection.commit()
self.disconnect()
return result
def disconnect(self):
if self.connection:
self.connection.close()
def fetch_all(self, query, params=()):
self.connect()
cursor = self.connection.cursor()
cursor.execute(query, params)
results = cursor.fetchall()
self.disconnect()
return results
# 使用示例
database = Database('example.db')
# 创建一个新表
database.execute_query('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
# 插入一条记录
database.execute_query('INSERT INTO users (name) VALUES (?)', ('Alice',))
# 查询所有记录
users = database.fetch_all('SELECT * FROM users')
for user in users:
print(user)
这段代码定义了一个名为Database
的类,它有连接数据库、执行查询和关闭连接的方法。execute_query
用于执行需要提交更改的查询,而fetch_all
用于执行查询并返回所有结果。使用时,首先创建一个Database
类的实例,并通过传入数据库文件名初始化。然后,可以使用execute_query
和fetch_all
方法来操作数据库。
评论已关闭