# sqliteDriver **Repository Path**: verwirrt/sqlite-driver ## Basic Information - **Project Name**: sqliteDriver - **Description**: sqliteDriver - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SQLDriver - SQLite 数据库操作库 `SQLDriver` 是一个基于 SQLite 的轻量级数据库封装,支持链式调用、自动事务管理和防止 SQL 注入。 ## 安装 克隆此仓库到本地: ```bash git clone https://gitee.com/verwirrt/sqlite-driver.git cd sqldriver ``` ## 快速开始 ```python from DbManager import DbManager # 创建数据库并插入数据 with DbManager("my_database.db") as db: # 创建表 db.create_table("users", [ "id INTEGER PRIMARY KEY AUTOINCREMENT", "username TEXT NOT NULL", "email TEXT", "age INTEGER" ]) # 插入数据 user_data = { "username": "john_doe", "email": "john@example.com", "age": 25 } db.from_table("users").insert_dict(user_data) # 查询数据 users = db.select().from_table("users").execute_query() print(users) ``` ## Database Manager (DbManager) 使用文档 `DbManager` 是一个基于 SQLite 的轻量级数据库封装,支持链式调用、自动事务管理和防止 SQL 注入。 ### 1. 初始化与上下文管理 推荐使用 `with` 语句来自动管理数据库连接和事务(自动提交/回滚)。 ```python from DbManager import DbManager # 使用默认数据库 (index.db) with DbManager() as db: # 执行操作... pass # 指定数据库文件 with DbManager("my_data.db") as db: pass ``` ### 2. 查询数据 (Select) 支持链式调用构建查询。 ```python with DbManager() as db: # 基础查询 users = db.select("*").from_table("users").execute_query() # 带条件查询 active_users = (db.select(["id", "username", "email"]) .from_table("users") .where("status = ?", "active") .where_and("age > ?", 18) .order_by("created_at DESC") .limit(10) .execute_query()) # 使用日期辅助函数 recent_logs = (db.select() .from_table("logs") .where_date_after("created_time", "2023-01-01 00:00:00") .execute_query()) ``` ### 3. 插入数据 (Insert) #### 单条插入 (字典模式) 推荐使用字典模式,自动匹配列名。 ```python data = { "username": "john_doe", "email": "john@example.com", "age": 25 } with DbManager() as db: db.from_table("users").insert_dict(data) ``` #### 批量插入 ```python user_list = [ {"username": "user1", "age": 20}, {"username": "user2", "age": 22}, {"username": "user3", "age": 24} ] with DbManager() as db: db.from_table("users").insert_all(user_list) ``` ### 4. 更新数据 (Update) ```python update_data = {"status": "inactive", "updated_at": "2023-10-01"} with DbManager() as db: # 方法 1: 使用链式调用 (推荐) db.from_table("users").where("id = ?", 101).update_query(update_data) # 方法 2: 传统方式 db.update("users", update_data, "id = 101") ``` ### 5. 删除数据 (Delete) ```python with DbManager() as db: # 方法 1: 使用链式调用 (推荐) db.from_table("users").where("id = ?", 101).delete_query() # 方法 2: 传统方式 db.delete("users", "id = 101") ``` ### 6. 执行原始 SQL 对于复杂查询,可以直接执行原始 SQL。 ```python with DbManager() as db: sql = "SELECT count(*) as count FROM users WHERE status = ?" db.execute_sql(sql, ("active",)) result = db.cursor.fetchone() print(result['count']) ``` ## 特性 - 自动事务管理(使用 `with` 语句) - 防止 SQL 注入(使用参数化查询) - 支持链式调用语法 - 提供便捷的 CRUD 操作 - 自动资源清理