MySQL MCP 入门:用自然语言操作数据库

对于不熟悉 SQL 的非技术人员,每次需要查询或分析数据时,都得麻烦开发人员帮忙写 SQL,非常不方便。

今天给大家演示 MySQL MCP 的使用案例,用自然语言操作数据库。一起来看看吧。

一、什么是 MySQL MCP?

MySQL MCP Server 提供了一系列工具,允许我们和大模型交互时,用自然语言来操作数据库,比如"创建一个商品表"、"查询本月销售额"等,不需要手写 SQL 语句!

这项功能特别适合:

  • 快速进行数据库原型设计和测试
  • 学习和练习 SQL 操作
  • 日常开发中的数据库管理工作

我们先做一些准备工作,然后进入实际操作环节。

二、准备工作

开始之前,需要准备以下环境:

  1. 安装 VSCode:如果还没安装,可以从官方网站下载。
  2. 安装 Cline 插件:在 VSCode 扩展市场搜索 Cline 并安装。
  3. 准备一个 MySQL 测试数据库

我个人喜欢用 Docker 来快速搭建测试环境,如果你也习惯用 Docker,可以执行下面的命令来启动一个 MySQL 容器:

docker run -d --name mysql-mcp -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mcp-test -p 3306:3306 mysql:lts

该命令会创建一个 mysql-mcp 容器,root 密码设为 123456,并自动创建一个 mcp-test 数据库。

如果你已经有了本地或远程的 MySQL 环境,可以直接用。

三、配置 MySQL MCP Server

接下来,我们开始为 Cline 添加 MySQL MCP Server。步骤如下:

  1. 打开配置文件 cline_mcp_settings.json(点击 Cline 窗口顶部 “+” 按钮后面的 “MCP Server” 按钮,然后依次选择 “Installed” > “Configure MCP Servers”)。
  2. 添加以下配置内容:
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@f4ww4z/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "123456",
        "MYSQL_DATABASE": "mcp-test"
      },
      "transportType": "stdio",
      "autoApprove": [
        "list_tables",
        "connect_db",
        "execute",
        "query",
        "describe_table"
      ]
    }
  }
}

将上面的配置拷贝到你的 mcpServers 节点下即可。

注意:要将我的数据库连接信息替换为你的。

我配置了 autoApprove 选项指定了一些命令,是希望对这些命令自动执行,不想每次都手动确认。

配置完成后保存,检查 MySQL MCP Server 是否启动成功:

MCP服务状态检查

如果看到按钮是开启状态,并且有一个绿色小点,说明服务已经正常运行了。现在我们就可以使用 MySQL MCP 啦!

四、MySQL MCP 实战演练

准备工作都搞定了,终于可以开始实际操练了。

先点击 Cline 窗口顶部的 “+” 按钮开启一个新的会话。

1. 了解可用的 MCP 服务

首先,我们先问下 Cline 当前有哪些 MCP 服务可用。

提问:帮我查下有哪些 MCP 服务可用?

查询当前可用的所有 MCP 服务

接着,我们来了解一下 MySQL MCP 具体能做点什么?

提问:请问 MySQL MCP 的功能有哪些?

MySQL MCP功能介绍

2. 查看数据库表

现在,让我们看看数据库中有哪些表。

提问:数据库中有哪些表?

查看数据库表

由于我是从空库开始测试的,所以还没有任何表。接下来,我们需要创建一些表和数据。

3. 创建商品表并添加测试数据

提问:帮我创建一个简单的商品表,并填充一些测试数据。

创建商品表并添加了 3 条测试数据

是不是很神奇?我只是用自然语言描述了需求,MySQL MCP 就自动帮我创建了表并插入了测试数据。

提问:商品表中有多少条记录?

查询记录数

列出所有的商品,并以表格的形式显示

显示商品数据

4. 创建订单相关表

接下来,我们继续创建订单表和订单明细表:

提问:帮我创建一个简单的订单表和订单明细表

创建订单表

它帮我生成的表名为 order_items,我不喜欢这个命名,把它改为 order_details

提问:我喜欢的订单明细表名为 order_details

修改表名

然后,我们来添加一些订单测试数据:

提问:帮我创建一些订单测试数据

添加订单数据

5. 修改表结构和数据

假设我们的业务需求变了,需要删除所有订单信息,并且在订单表中增加商品 ID 和商品名称列:

提问:删除所有的订单信息,新增商品 id 和商品名称列

修改表结构

然后,我们再添加一些新的测试记录:

提问:新增几条订单测试记录

添加新记录

6. 查看表结构和添加注释

现在,我想了解一下订单表的具体定义:

提问:订单表的定义?

查看表结构

为了让表结构更清晰,我们可以为所有字段添加详细的中文注释:

提问:请为所有字段添加详细的中文注释

添加字段注释

7. 进行数据分析

有了这些数据,我们可以进行一些简单的数据分析,比如计算本月的销售额:

提问:本月销售额是多少?

计算销售额

其他更多的分析,我就不演示了,感兴趣的小伙伴可以自己动手试试。

8. 查看服务器状态

最后,我们还可以查看 MySQL 服务器的主要状态信息:

提问:我想查看下当前服务器的主要状态信息

服务器状态

以上只是抛砖引玉,不再一一演示,MySQL 的命令很多,更多用法等你来探索。

五、总结

本教程演示了一种新的工作方式:用自然语言操作 MySQL 数据库。

这种方式特别适合快速原型设计、学习数据库和日常数据库管理工作,也非常适合不熟悉 SQL 的非技术人员,如产品或运营的小伙伴查询数据用,再也不用经常麻烦开发人员帮忙写 SQL 了。

赶紧按照教程配置试一试吧,体验一下"对话式操作数据库"的乐趣。

有问题或想法,欢迎在评论区交流。我会继续分享更多 MCP 使用技巧,敬请期待!

希望这篇文章对你有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值