探秘SQLite OOP:一个创新的Python SQLite封装库
import sqlite3
class SQLite:
def __init__(self, db):
self.connection = sqlite3.connect(db)
self.cursor = self.connection.cursor()
def query(self, query, params=()):
self.cursor.execute(query, params)
return self.cursor.fetchall()
def execute(self, query, params=()):
self.cursor.execute(query, params)
self.connection.commit()
def __del__(self):
self.connection.close()
# 使用示例
db = SQLite('example.db')
# 创建一个新表
db.execute('''
CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
)
''')
# 插入新数据
db.execute('''
INSERT INTO user (name, email)
VALUES (?, ?)
''', ('Alice', 'alice@example.com'))
# 查询数据
users = db.query('''
SELECT id, name, email FROM user
''')
for user in users:
print(user)
这个简单的代码示例展示了如何使用类封装SQLite数据库操作。它提供了一个SQLite
类,用于连接数据库、执行查询和执行命令。它还展示了如何使用参数化查询来避免SQL注入攻击,并在对象销毁时关闭数据库连接。这个示例代表了一个更为专业和现代的数据库封装方式。
评论已关闭