Skip to main content
Glama

PySqlitMCP

by Python51888
README.md7.49 kB
# PySqlitMCP [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=for-the-badge&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/Python51888/PySqlitMCP)  PySqlitMCP 是一个基于 FastMCP 框架和 PySqlit 库的数据库操作工具集,提供了完整的 SQLite 数据库管理功能,包括数据库创建、表操作、数据增删改查、备份恢复、数据导入导出等功能。 ## 功能特性 ### 数据库管理 - 创建新的数据库 - 获取数据库详细信息 - 备份数据库到指定文件 - 从备份文件恢复数据库 - 列出所有备份文件 ### 表操作 - 创建新的数据表 - 删除指定的数据表 - 获取指定表的详细信息 - 统计表中的记录总数 - 列出数据库中的所有表 ### 数据操作 - 向表中插入单条数据 - 向表中批量插入数据 - 查询表中的数据 - 更新表中的数据 - 删除表中的数据 - 执行自定义SQL语句 ### 数据导入导出 - 从CSV文件导入数据到表 - 将表数据导出到CSV文件 ## 安装依赖 ### 使用 pip 安装 ```bash uv pip install -r requirements.txt ``` ### 使用 uv 安装(推荐) ```bash uv sync ``` ## 快速开始 1. 确保已安装所有依赖 2. 运行主程序: ```bash python main.py ``` ## 使用指南 1. 操作前先获取数据库信息了解结构 2. 表操作前检查表是否存在 3. 数据操作注意数据类型匹配 4. 大量数据使用批量操作 5. 重要操作前备份数据库 6. 自定义SQL语句谨慎执行,避免误操作,优先使用封装好的方法 7. 创建数据库时可以指定保存路径 8. 导入导出数据时可以指定文件路径 9. 批量操作时请务必检查数据格式和数量,避免错误操作 10. 如果提供的参数或者格式有错误,请自动提示错误信息,并给出正确的使用方法 11. 不要擅自对数据库表操作 12. 动态使用提示词根据传入的参数给出提示 ## API 接口说明 ### 数据库管理接口 #### create_database(db_name="test", db_path=None) 创建一个新的数据库 **参数:** - `db_name` (str, optional): 要创建的数据库名,默认为 "test" - `db_path` (str, optional): 数据库文件保存的完整路径,如果未提供,则使用当前工作目录 **返回:** - 数据库文件的完整路径 #### get_database_info() 获取数据库详细信息 **返回:** - 包含数据库详细信息的字典,包括: - path: 数据库文件路径 - tables: 表列表及其结构信息 - table_count: 表的数量 #### backup_database(backup_file) 备份数据库到指定文件 **参数:** - `backup_file` (str): 备份文件路径 **返回:** - 成功返回True,失败返回False #### restore_database(backup_file) 从备份文件恢复数据库 **参数:** - `backup_file` (str): 备份文件路径 **返回:** - 成功返回True,失败返回False #### list_backup_files() 列出所有备份文件 **返回:** - 备份文件信息列表,每个元素包含文件名和创建时间 ### 表操作接口 #### create_tables(table_name, columnss, pk=None, unique=None, check=None) 创建新的数据表 **参数:** - `table_name` (str): 要创建的表名 - `columnss` (list): 列定义列表 - `pk` (str/list, optional): 主键列名或主键列名列表 - `unique` (list, optional): 唯一约束列名列表 - `check` (str, optional): 检查约束条件 **返回:** - 创建成功返回True,失败返回False #### drop_tables(table_name) 删除指定的数据表 **参数:** - `table_name` (str): 要删除的表名 **返回:** - 删除成功返回True,失败返回False #### get_table_info(table_name) 获取指定表的详细信息 **参数:** - `table_name` (str): 要查询的表名 **返回:** - 包含表结构的字典 #### list_tables() 列出数据库中的所有表 **返回:** - 表名列表 #### get_table_count(table_name) 统计表中的记录总数 **参数:** - `table_name` (str): 要统计的表名 **返回:** - 表中的记录总数 ### 数据操作接口 #### insert_data(table_name, data) 向表中插入单条数据 **参数:** - `table_name` (str): 目标表名 - `data` (dict): 要插入的数据 **返回:** - 成功插入返回新记录的ID,失败返回-1 #### insert_multiple_data(table_name, datas) 向表中批量插入数据 **参数:** - `table_name` (str): 目标表名 - `datas` (list): 要插入的数据列表 **返回:** - 成功插入的记录数量 #### select_data(table_name, condition=None) 查询表中的数据 **参数:** - `table_name` (str): 要查询的表名 - `condition` (str, optional): WHERE条件语句 **返回:** - 查询结果列表 #### update_data(table_name, data, condition) 更新表中的数据 **参数:** - `table_name` (str): 目标表名 - `data` (dict): 要更新的数据 - `condition` (str): WHERE条件语句 **返回:** - 成功更新的记录数量 #### delete_data(table_name, condition) 删除表中的数据 **参数:** - `table_name` (str): 目标表名 - `condition` (str): WHERE条件语句 **返回:** - 成功删除的记录数量 #### execute_sql_statement(sql) 执行自定义SQL语句 **参数:** - `sql` (str): 要执行的SQL语句 **返回:** - 查询结果列表(对于SELECT语句)或受影响的行数(对于INSERT/UPDATE/DELETE语句) ### 数据导入导出接口 #### import_from_csv(table_name, import_file) 从CSV文件导入数据到表 **参数:** - `table_name` (str): 目标表名 - `import_file` (str): 要导入的CSV文件路径 **返回:** - 成功导入的记录数量 #### export_to_csv(table_name, export_file) 将表数据导出到CSV文件 **参数:** - `table_name` (str): 要导出的表名 - `export_file` (str): 导出的CSV文件路径 **返回:** - 导出成功返回True,失败返回False ## 技术栈 - Python >= 3.11 - [FastMCP](https://github.com/YourRepo/FastMCP) >= 2.12.2 - [PySqlit](https://github.com/YourRepo/PySqlit) >= 0.2.6.3 ## 许可证 本项目采用 MIT 许可证。详情请见 [LICENSE](LICENSE) 文件。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Python51888/PySqlitMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server