MySQL 数据库管理技能,能够通过自然语言查询和管理数据库,支持 SELECT/INSERT/UPDATE/DELETE、表管理、备份恢复等操作。当用户提及 MySQL、数据库查询、建表或数据备份时使用此技能。
MySQL Skill - 对话式数据库管理是一项面向实际任务的技能,主要用于通过自然语言,轻松管理 MySQL 数据库,无需手写 SQL!🎯 功能特点;
💾 备份恢复 - 数据库/表级备份和恢复;🔧 优化建议 - 慢查询分析、索引优化建议;📋 使用场景;"查询昨天注。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过自然语言,轻松管理 MySQL 数据库,无需手写 SQL!
Ubuntu/Debian:
sudo apt update sudo apt install mysql-client
macOS:
brew install mysql-client
Windows: 下载并安装 MySQL 官方客户端工具
创建配置文件 ~/.my.cnf:
[client] host = localhost user = your_username password = your_password database = your_database
或通过环境变量:
export MYSQL_HOST=localhost export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password export MYSQL_DATABASE=your_database
自然语言描述:
查询销量最高的 5 个产品
AI 生成的 SQL:
SELECT product_name, SUM(quantity) as total_sales FROM orders GROUP BY product_name ORDER BY total_sales DESC LIMIT 5;
自然语言描述:
创建一个用户表,包含 id、用户名、邮箱、注册时间
AI 生成的 SQL:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_username (username)
);
备份数据库:
mysqldump --single-transaction --quick --lock-tables=false
your_database > backup_$(date +%Y%m%d_%H%M%S).sql
备份单个表:
mysqldump your_database table_name > table_backup.sql
恢复数据:
mysql your_database < backup_file.sql
SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 2; SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
mysqldumpslow /var/log/mysql/slow.log
查看表的索引使用情况:
SELECT
TABLE_NAME, INDEX_NAME, CARDINALITY
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'your_database'
ORDER BY TABLE_NAME, INDEX_NAME;
查看数据库状态:
SHOW STATUS LIKE 'Threads_connected'; SHOW STATUS LIKE 'Questions'; SHOW STATUS LIKE 'Uptime';
SELECT *,只查询需要的字段用户: "帮我看看这个月的销售额分布"
AI: "好的,我来查询这个月每天的销售额。"
SELECT
DATE(order_date) as date,
SUM(amount) as daily_sales
FROM orders
WHERE order_date >= DATE_FORMAT(NOW(), '%Y-%m-01')
GROUP BY DATE(order_date)
ORDER BY date;
用户: "给订单表加一个优惠券字段"
AI: "好的,正在添加字段..."
ALTER TABLE orders ADD COLUMN coupon_code VARCHAR(50) NULL AFTER discount_amount;
用户: "备份一下数据库"
AI: "正在备份数据库到 backup_20260323.sql..."
mysqldump --single-transaction --quick your_database > backup_20260323.sql
1. ERROR 1045 (28000): Access denied
2. ERROR 2002 (HY000): Can't connect to MySQL server
3. Query took too long
EXPLAIN 分析查询计划开始使用: 直接告诉我你想查询什么,我会自动生成 SQL!🚀