# dsql
**Repository Path**: iint/dsql
## Basic Information
- **Project Name**: dsql
- **Description**: dsqlenv 是一个用于 SQL 数据库操作的工具,旨在帮助开发者在不同的环境或主机之间快速同步常用的变量(如 API 密钥)。存储在数据库中的所有变量均使用 AES 加密以确保数据的安全性。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-13
- **Last Updated**: 2024-10-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SQL, AES
## README
# dsqlenv-环境同步工具
[English](README.md) | 中文
`dsqlenv` 是一个用于 SQL 数据库操作的工具,旨在帮助开发者在不同的环境或主机之间快速同步常用的变量(如 API 密钥)。存储在数据库中的所有变量均使用 AES 加密以确保数据的安全性。
## 目录
- [功能特性](#功能特性)
- [安装](#安装)
- [配置](#配置)
- [快速使用](#快速使用)
- [Python 使用示例](#python-使用示例)
- [命令行使用示例](#命令行使用示例)
- [许可证](#许可证)
## 功能特性
- **环境变量管理**:通过关键词或正则表达式搜索和更新环境变量。
- **数据库操作**:安全地执行基本的 SQL 操作,例如获取、插入、更新和删除记录。
- **AES 加密**:存储在数据库中的所有变量均经过加密,确保敏感信息得到保护。
## 安装
按照以下步骤安装 `dsqlenv`:
1. 克隆项目仓库:
```bash
git clone https://gitee.com/iint/dsqlenv.git
cd dsqlenv
```
2. 安装所需依赖:
```bash
pip install -r requirements.txt
```
3. 在项目根目录下创建 `.env` 文件,并配置所需的环境变量,详细配置见下文。
或者,直接通过 `pip` 安装:
```bash
pip install dsqlenv
```
## 配置
在使用 `dsqlenv` 之前,请确保您的环境变量已包含以下数据库相关的信息:
```bash
DB_USER='<数据库用户名>' # 数据库认证所需的用户名
DB_PASSWORD='<数据库密码>' # 数据库用户的密码
DB_NAME='xxx' # 要连接的数据库名称
DB_HOST='xxx' # 数据库服务器的主机名或 IP 地址
DB_PORT='xxx' # 数据库连接端口(MySQL 默认端口为 3306)
AES_KEY='xxx' # AES 加密密钥,用于保护敏感数据
TABLE_NAME='dagent_info' # 要执行操作的数据表名称
ID_COLUMN='name' # 作为记录唯一标识符的列名称
INFO_COLUMN='data' # 用于存储数据的列名称
```
请将其中的占位符替换为您实际的数据库凭据。
## 快速使用
您可以使用命令行界面(CLI)快速进行数据库和环境变量的操作。
### 基本命令
- **获取记录**:
```bash
dsqlenv db --action get --id <记录ID>
```
- **插入记录**:
```bash
dsqlenv db --action insert --id <记录ID> --data <记录数据>
```
- **更新记录**:
```bash
dsqlenv db --action update --id <记录ID> --data <记录数据>
```
- **删除记录**:
```bash
dsqlenv db --action delete --id <记录ID>
```
## Python 使用示例
您还可以在 Python 代码中直接使用 `dsqlenv` 库。
```python
from dsqlenv.core import SQL
from dsqlenv.config import load_config
# 加载配置
config = load_config()
db = SQL(config)
# 插入新记录
db.insert_data("api_key", "your_api_key")
# 根据 ID 获取记录
data = db.get_data_by_id("api_key")
print(data)
# 更新记录
db.update_data("api_key", "new_api_key")
# 删除记录
db.delete_data("api_key")
```
## 命令行使用示例
以下是一些命令行有效使用的示例:
- **搜索环境变量**:
```bash
dsqlenv search-env --keyword SECRET
```
- **更新环境变量**:
```bash
dsqlenv update-env --key API_KEY --value new_value
```
- **使用正则表达式搜索**:
```bash
dsqlenv re search '^SECRET'
```
- **使用正则表达式更新**:
```bash
dsqlenv re update '^API_' 'new_value'
```
## 许可证
本项目基于 MIT 许可证。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。