PySqlitMCP 是一个基于 FastMCP 框架和 PySqlit 库的数据库操作工具集,提供了完整的 SQLite 数据库管理功能,包括数据库创建、表操作、数据增删改查、备份恢复、数据导入导出等功能。
- 创建新的数据库
- 获取数据库详细信息
- 备份数据库到指定文件
- 从备份文件恢复数据库
- 列出所有备份文件
- 创建新的数据表
- 删除指定的数据表
- 获取指定表的详细信息
- 统计表中的记录总数
- 列出数据库中的所有表
- 向表中插入单条数据
- 向表中批量插入数据
- 查询表中的数据
- 更新表中的数据
- 删除表中的数据
- 执行自定义SQL语句
- 从CSV文件导入数据到表
- 将表数据导出到CSV文件
uv pip install -r requirements.txt
uv sync
- 确保已安装所有依赖
- 运行主程序:
python main.py
- 操作前先获取数据库信息了解结构
- 表操作前检查表是否存在
- 数据操作注意数据类型匹配
- 大量数据使用批量操作
- 重要操作前备份数据库
- 自定义SQL语句谨慎执行,避免误操作,优先使用封装好的方法
- 创建数据库时可以指定保存路径
- 导入导出数据时可以指定文件路径
- 批量操作时请务必检查数据格式和数量,避免错误操作
- 如果提供的参数或者格式有错误,请自动提示错误信息,并给出正确的使用方法
- 不要擅自对数据库表操作
- 动态使用提示词根据传入的参数给出提示
创建一个新的数据库
参数:
db_name
(str, optional): 要创建的数据库名,默认为 "test"db_path
(str, optional): 数据库文件保存的完整路径,如果未提供,则使用当前工作目录
返回:
- 数据库文件的完整路径
获取数据库详细信息
返回:
- 包含数据库详细信息的字典,包括:
- path: 数据库文件路径
- tables: 表列表及其结构信息
- table_count: 表的数量
备份数据库到指定文件
参数:
backup_file
(str): 备份文件路径
返回:
- 成功返回True,失败返回False
从备份文件恢复数据库
参数:
backup_file
(str): 备份文件路径
返回:
- 成功返回True,失败返回False
列出所有备份文件
返回:
- 备份文件信息列表,每个元素包含文件名和创建时间
创建新的数据表
参数:
table_name
(str): 要创建的表名columnss
(list): 列定义列表pk
(str/list, optional): 主键列名或主键列名列表unique
(list, optional): 唯一约束列名列表check
(str, optional): 检查约束条件
返回:
- 创建成功返回True,失败返回False
删除指定的数据表
参数:
table_name
(str): 要删除的表名
返回:
- 删除成功返回True,失败返回False
获取指定表的详细信息
参数:
table_name
(str): 要查询的表名
返回:
- 包含表结构的字典
列出数据库中的所有表
返回:
- 表名列表
统计表中的记录总数
参数:
table_name
(str): 要统计的表名
返回:
- 表中的记录总数
向表中插入单条数据
参数:
table_name
(str): 目标表名data
(dict): 要插入的数据
返回:
- 成功插入返回新记录的ID,失败返回-1
向表中批量插入数据
参数:
table_name
(str): 目标表名datas
(list): 要插入的数据列表
返回:
- 成功插入的记录数量
查询表中的数据
参数:
table_name
(str): 要查询的表名condition
(str, optional): WHERE条件语句
返回:
- 查询结果列表
更新表中的数据
参数:
table_name
(str): 目标表名data
(dict): 要更新的数据condition
(str): WHERE条件语句
返回:
- 成功更新的记录数量
删除表中的数据
参数:
table_name
(str): 目标表名condition
(str): WHERE条件语句
返回:
- 成功删除的记录数量
执行自定义SQL语句
参数:
sql
(str): 要执行的SQL语句
返回:
- 查询结果列表(对于SELECT语句)或受影响的行数(对于INSERT/UPDATE/DELETE语句)
从CSV文件导入数据到表
参数:
table_name
(str): 目标表名import_file
(str): 要导入的CSV文件路径
返回:
- 成功导入的记录数量
将表数据导出到CSV文件
参数:
table_name
(str): 要导出的表名export_file
(str): 导出的CSV文件路径
返回:
- 导出成功返回True,失败返回False
本项目采用 MIT 许可证。详情请见 LICENSE 文件。