Files

59 lines
1.6 KiB
Markdown

# G3FO Database Operations Script
替代 MCP MySQL 的 Python 数据库操作工具。
## 连接管理(无内存泄漏)
- **单次执行**:每次命令是独立进程,执行完即退出
- **连接生命周期**:连接仅在单次命令执行期间存在(通常几毫秒到几秒),`finally` 中统一 `conn.close()`
- **无长连接/连接池**:用完即关,不会累积连接
- **连接超时**:默认 10 秒,防止网络慢时长时间挂起
## 安装
```bash
pip install -r requirements.txt
# 或
pip install mysql-connector-python
```
## 默认连接
与 MCP user-mysql 一致:
- host: 192.168.3.233
- port: 3306
- user: root
- password: afe123456
- database: g3fo_base
## 覆盖连接
- 命令行:`--host`, `--port`, `--user`, `--password`, `--database`, `--connection-timeout`
- 环境变量:`MYSQL_HOST`, `MYSQL_PORT`, `MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_DATABASE`, `MYSQL_CONNECTION_TIMEOUT`
## 命令
| 命令 | 说明 |
|------|------|
| query | SELECT 查询 |
| execute | INSERT/UPDATE/DELETE |
| list_tables | 列举所有表 |
| describe_table | 表结构 |
| call_procedure | 执行存储过程 |
| batch_execute | 批量 SQL(支持文件) |
| get_table_comment | 获取表注释 |
| set_table_comment | 修改表注释 |
| get_column_comment | 获取列注释 |
| set_column_comment | 修改列注释 |
| test_connection | 测试连接 |
## 示例
```bash
python db_ops.py test_connection
python db_ops.py query "SELECT 1"
python db_ops.py --database g3fo_trade list_tables
python db_ops.py describe_table m_order
python db_ops.py batch_execute --file script.sql
```