# 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)를 따릅니다.
