kds_mysql_query_writer
Version:
A beginner-friendly node for writing SQL queries via input fields
67 lines (46 loc) • 3.25 kB
Markdown
# MySQL Query Helper Node for Node-RED
`mysql-query-helper`는 Node-RED에서 MySQL 쿼리를 작성하는 과정을 간편하게 만들어주는 커스텀 노드입니다. 사용자는 복잡한 SQL 구문을 직접 작성하지 않고도, 간단한 폼 기반의 인터페이스를 통해 MySQL 데이터를 생성(CREATE), 조회(READ), 수정(UPDATE), 삭제(DELETE)할 수 있습니다. 이 노드는 SQL에 익숙하지 않은 초보자들에게 특히 유용합니다.
## 주요 기능
- **직관적인 폼 입력**: SQL 구문을 직접 입력하지 않고, 필드와 값을 쉽게 추가하여 쿼리를 생성할 수 있습니다.
- **다양한 작업 지원**: SELECT, INSERT, UPDATE, DELETE 쿼리를 모두 지원하며, 각 작업에 따라 입력 필드가 자동으로 변동됩니다.
- **실시간 쿼리 미리보기**: 사용자가 입력한 정보를 바탕으로 실시간으로 SQL 쿼리가 생성되며, 이를 바로 확인할 수 있습니다.
- **WHERE 조건절 지원**: WHERE 조건절을 입력하여 필터링된 데이터 조회 및 수정/삭제가 가능합니다.
## 사용 방법
### 1. 노드 설치
Node-RED 편집기에서 `mysql-query-helper` 노드를 추가하려면, Node-RED 라이브러리에서 이 노드를 설치하거나 `settings.js` 파일에서 추가해 주세요.
### 2. 기본 사용법
1. **작업 유형 선택**: `Operation Type` 필드에서 원하는 SQL 작업 유형(SELECT, INSERT, UPDATE, DELETE)을 선택하세요.
2. **테이블명 입력**: 데이터를 작업할 MySQL 테이블명을 입력하세요.
3. **필드 및 값 추가**: SELECT, INSERT, UPDATE 작업의 경우, 조회하거나 삽입/수정할 필드 및 값을 추가할 수 있습니다.
4. **WHERE 조건 추가**: 필요에 따라 WHERE 조건을 입력하여 특정 조건을 만족하는 데이터만을 작업할 수 있습니다.
5. **쿼리 확인**: 입력한 필드와 값을 기반으로 실시간으로 생성된 SQL 쿼리를 확인할 수 있습니다.
### 3. 쿼리 작업 예시
- **SELECT 쿼리**
- 테이블: `users`
- 필드: `name`, `email`
- WHERE 조건: `age > 30`
- 결과 쿼리: `SELECT name, email FROM users WHERE age > 30`
- **INSERT 쿼리**
- 테이블: `products`
- 필드: `product_name`, `price`
- 값: `'Laptop'`, `1200`
- 결과 쿼리: `INSERT INTO products (product_name, price) VALUES ('Laptop', 1200)`
- **UPDATE 쿼리**
- 테이블: `employees`
- 필드: `salary`
- 값: `5000`
- WHERE 조건: `employee_id = 123`
- 결과 쿼리: `UPDATE employees SET salary = 5000 WHERE employee_id = 123`
- **DELETE 쿼리**
- 테이블: `customers`
- WHERE 조건: `customer_id = 456`
- 결과 쿼리: `DELETE FROM customers WHERE customer_id = 456`
## 설치 방법
1. Node-RED의 사용자 디렉토리(`~/.node-red`)로 이동합니다.
2. 다음 명령어를 사용해 `mysql-query-helper` 노드를 설치합니다.
```
npm install mysql-query-helper
```
3. Node-RED를 다시 시작하고, 노드 팔레트에서 `mysql-query-helper` 노드를 사용할 수 있습니다.
## 라이선스
이 프로젝트는 [MIT 라이선스](./LICENSE)를 따릅니다.