English | 中文 | Français | Español | العربية | Русский
本文档提供了使用 MCP 数据库工具操作 SQLite 数据库的实用示例。
connections:
my-sqlite:
type: sqlite
path: /path/to/database.db您:"列出我的 SQLite 数据库中的所有表。"
AI:"以下是您的 SQLite 数据库中的表:
- users(用户)
- products(产品)
- orders(订单)
- categories(类别)"
您:"显示 users 表的结构。"
AI:"users 表的结构如下:
- id (INTEGER, PRIMARY KEY)
- username (TEXT, NOT NULL)
- email (TEXT, NOT NULL, UNIQUE)
- created_at (TIMESTAMP)
- last_login (TIMESTAMP)
- status (TEXT)"
您:"显示按最后登录日期排序的前 5 名用户。"
AI:"以下是按最后登录日期排序的前 5 名用户:
| id | username | last_login | |
|---|---|---|---|
| 42 | johndoe | john@example.com | 2023-11-25 14:32:15 |
| 17 | janedoe | jane@example.com | 2023-11-24 09:45:22 |
| 31 | bobsmith | bob@example.com | 2023-11-23 18:12:05 |
| 8 | alicejones | alice@example.com | 2023-11-22 11:30:47 |
| 53 | mikebrown | mike@example.com | 2023-11-21 16:08:33 |
您:"显示最近 3 个订单及其用户信息。"
AI:"以下是最近 3 个订单及其用户信息:
| order_id | order_date | username | total_amount | |
|---|---|---|---|---|
| 1042 | 2023-11-25 | johndoe | john@example.com | ¥125.99 |
| 1041 | 2023-11-24 | alicejones | alice@example.com | ¥89.50 |
| 1040 | 2023-11-23 | bobsmith | bob@example.com | ¥212.75 |
您:"每个类别的平均订单金额是多少?"
AI:"以下是每个类别的平均订单金额:
| category | average_amount |
|---|---|
| Electronics(电子产品) | ¥245.75 |
| Clothing(服装) | ¥78.30 |
| Books(图书) | ¥32.50 |
| Home & Kitchen(家居与厨房) | ¥124.90 |
| Sports & Outdoors(运动与户外) | ¥156.25 |
您:"解释这个查询的执行计划:SELECT * FROM orders WHERE user_id = 42"
AI:"该查询的执行计划:
QUERY PLAN
------------------------------------------------------------
SEARCH TABLE orders USING INDEX idx_user_id (user_id=?)
此查询使用 idx_user_id 索引高效地查找 user_id 为 42 的订单。"
您:"获取 orders 表的统计信息。"
AI:"orders 表的统计信息:
- 行数:1,245
- 大小:2.3 MB
- 索引:3 个(主键、idx_user_id、idx_order_date)
- 平均行长度:1.9 KB"
您:"搜索包含'无线耳机'的产品。"
AI:"以下是匹配'无线耳机'的产品:
| product_id | name | description | price |
|---|---|---|---|
| 123 | 高级无线耳机 | 带有 30 小时电池续航的降噪无线耳机 | ¥199.99 |
| 145 | 运动无线耳机 | 防水运动无线耳机 | ¥89.99 |
| 187 | 经济型无线耳机 | 音质优良的经济实惠无线耳机 | ¥49.99 |
您:"显示偏好设置中包含'premium'的用户。"
AI:"以下是偏好设置中包含'premium'的用户:
| id | username | preferences |
|---|---|---|
| 42 | johndoe | {"subscription": "premium", "theme": "dark"} |
| 17 | janedoe | {"subscription": "premium", "theme": "light"} |
| 53 | mikebrown | {"subscription": "premium", "theme": "auto"} |
-
文件未找到
- 确保 SQLite 数据库文件的路径正确
- 检查文件权限
- 验证文件是否存在
-
数据库锁定
- SQLite 一次只允许一个写入者
- 确保没有其他进程正在写入数据库
- 考虑使用 WAL 模式以获得更好的并发性
-
性能问题
- 为经常查询的列添加索引
- 使用 EXPLAIN QUERY PLAN 识别慢查询
- 考虑对重复查询使用预处理语句