title: "SQL · Data 탭으로 동작 확인" chapter: 4 images:
- database-studio-sql-tab.png
- database-studio-data-tab.png
SQL · Data 탭으로 동작 확인
스크립트를 작성하기 전에 GUI 에서 SQL 이 실제로 도는지 먼저 확인하는 단계입니다. 이 단계에서 SQL 을 다듬어두면, 다음 장의 스크립트 작성은 “이미 도는 SQL 을 자동화하는 일” 로 단순화됩니다.
SQL 탭
public/manual/gui/database-studio-sql-tab.pngAvalonEdit 기반의 SQL 에디터입니다. 좌측 Tables 목록을 더블클릭하면 컬럼 정보가 자동 삽입됩니다.
주요 버튼
| 버튼 | 단축키 | 동작 |
|---|---|---|
| Run | F5 | 에디터 전체 SQL 실행 |
| Run Selected | Ctrl+Enter | 선택 영역만 실행 (멀티 쿼리 분리 작업에 유용) |
| Explain | — | EXPLAIN QUERY PLAN 출력 (SQLite) |
| Load .sql / Save .sql | — | 디스크의 SQL 파일 불러오기/저장 |
| History | — | 최근 실행 SQL 20건 |
샘플 SQL — INSERT · UPDATE · SELECT
order_history 테이블에 데이터를 넣고 갱신해 봅니다.
-- 1) 조리 시작 — order_no, menu_name 만 채움 (start_time 은 default 로 자동)
INSERT INTO order_history(order_no, menu_name)
VALUES ('20260501_001', '떡볶이');
-- 2) 조리 종료 — end_time, weight_g, result 채우기
UPDATE order_history
SET end_time = datetime('now', 'localtime'),
weight_g = 105.4,
result = 'OK',
is_error = 0
WHERE order_no = '20260501_001';
-- 3) 최근 50건 조회
SELECT * FROM order_history ORDER BY id DESC LIMIT 50;[Run] 을 누르면 결과 패널에 행과 컬럼이 표시됩니다. 같은 화면에서 여러 번 INSERT 를 시도해 다양한 케이스(메뉴 종류, 무게, OK/NG) 를 만들어 두면 다음 단계에서 비교가 쉽습니다.
통계용 스칼라 SQL
스크립트의 Label 표시에 그대로 쓸 통계 쿼리도 여기서 확정합니다.
-- 오늘 처리 건수
SELECT COUNT(*) FROM order_history
WHERE start_time LIKE '2026-05-01%';
-- 오늘 NG 건수
SELECT COUNT(*) FROM order_history
WHERE start_time LIKE '2026-05-01%'
AND result = 'NG';
-- 오늘 평균 무게
SELECT AVG(weight_g) FROM order_history
WHERE start_time LIKE '2026-05-01%';스크립트에서는 RunSqlScalarInt(...), RunSqlScalarDouble(...) 로 받습니다 (5장).
Explain 활용
쿼리가 느려지면 [Explain] 으로 인덱스가 실제로 쓰이는지 확인합니다.
order_history 의 경우 자동 생성된 idx_order_start · idx_order_no 가 사용되어야 정상입니다.
EXPLAIN QUERY PLAN
SELECT * FROM order_history WHERE start_time LIKE '2026-05-01%';
-- 결과 예) USING INDEX idx_order_start (start_time>? AND start_time<?)Data 탭
public/manual/gui/database-studio-data-tab.png선택한 테이블의 내용을 읽기 전용 DataGrid 로 표시합니다.
| 항목 | 설명 |
|---|---|
| 행 수 제한 | 기본 1000건. 좌상단 콤보로 변경 가능 |
| 정렬 | 컬럼 헤더 클릭 |
| 새로고침 | 상단 [Refresh] 또는 F5 |
| 편집 | 불가 — 데이터 변경은 SQL 탭의 INSERT/UPDATE 또는 스크립트로만 |
운영 중 데이터를 직접 수정하다가 키 충돌이나 트리거 누락이 나는 사고를 막기 위해 이 탭은 의도적으로 읽기 전용으로 만들어져 있습니다.
학습 포인트
-
스크립트는 GUI 에서 검증된 SQL 을 자동화할 뿐입니다. 복잡한 SELECT 는 SQL 탭에서 충분히 다듬은 다음, 스크립트에 “복사 + 파라미터화” 만 합니다.
-
자주 쓸 쿼리는
.sql파일로 저장 해 두십시오.XDatabase\Sql\폴더에 보관하면 운영 중 동일 쿼리를 재실행하기 쉽습니다. -
Data 탭은 디버깅 도구, 운영 화면이 아닙니다. 운영용 표시는 7장의 DataGrid + array 변수 패턴으로 만듭니다.
체크포인트
- SQL 탭에서 INSERT 1건 → Data 탭에서 새로고침 → 행이 보인다.
- UPDATE 후 Data 탭 새로고침 →
end_time,weight_g,result가 채워졌다. - 통계용 스칼라 SQL 3종이 모두 0 이상의 정상 값을 반환한다.
세 가지가 확인되면 5장의 스크립트 작업으로 넘어갑니다.