Skip to content

Latest commit

 

History

History
150 lines (104 loc) · 4.33 KB

File metadata and controls

150 lines (104 loc) · 4.33 KB

SQLite 示例

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 email 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 email 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"

使用 SQLite 特有功能

使用 FTS(全文搜索)

:"搜索包含'无线耳机'的产品。"

AI:"以下是匹配'无线耳机'的产品:

product_id name description price
123 高级无线耳机 带有 30 小时电池续航的降噪无线耳机 ¥199.99
145 运动无线耳机 防水运动无线耳机 ¥89.99
187 经济型无线耳机 音质优良的经济实惠无线耳机 ¥49.99

使用 JSON 函数

:"显示偏好设置中包含'premium'的用户。"

AI:"以下是偏好设置中包含'premium'的用户:

id username preferences
42 johndoe {"subscription": "premium", "theme": "dark"}
17 janedoe {"subscription": "premium", "theme": "light"}
53 mikebrown {"subscription": "premium", "theme": "auto"}

故障排除

常见问题

  1. 文件未找到

    • 确保 SQLite 数据库文件的路径正确
    • 检查文件权限
    • 验证文件是否存在
  2. 数据库锁定

    • SQLite 一次只允许一个写入者
    • 确保没有其他进程正在写入数据库
    • 考虑使用 WAL 模式以获得更好的并发性
  3. 性能问题

    • 为经常查询的列添加索引
    • 使用 EXPLAIN QUERY PLAN 识别慢查询
    • 考虑对重复查询使用预处理语句