59 lines
1.6 KiB
Markdown
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
|
|
```
|