Database 매뉴얼 · Chapter 4

title: "SQL · Data 탭으로 동작 확인" chapter: 4 images:

  • database-studio-sql-tab.png
  • database-studio-data-tab.png

SQL · Data 탭으로 동작 확인

스크립트를 작성하기 전에 GUI 에서 SQL 이 실제로 도는지 먼저 확인하는 단계입니다. 이 단계에서 SQL 을 다듬어두면, 다음 장의 스크립트 작성은 “이미 도는 SQL 을 자동화하는 일” 로 단순화됩니다.

SQL 탭

Database Studio · SQL 탭

AvalonEdit 기반의 SQL 에디터입니다. 좌측 Tables 목록을 더블클릭하면 컬럼 정보가 자동 삽입됩니다.

주요 버튼

버튼단축키동작
RunF5에디터 전체 SQL 실행
Run SelectedCtrl+Enter선택 영역만 실행 (멀티 쿼리 분리 작업에 유용)
ExplainEXPLAIN 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 탭

Database Studio · Data 탭 — 읽기 전용 DataGrid

선택한 테이블의 내용을 읽기 전용 DataGrid 로 표시합니다.

항목설명
행 수 제한기본 1000건. 좌상단 콤보로 변경 가능
정렬컬럼 헤더 클릭
새로고침상단 [Refresh] 또는 F5
편집불가 — 데이터 변경은 SQL 탭의 INSERT/UPDATE 또는 스크립트로만

운영 중 데이터를 직접 수정하다가 키 충돌이나 트리거 누락이 나는 사고를 막기 위해 이 탭은 의도적으로 읽기 전용으로 만들어져 있습니다.

학습 포인트

  • 스크립트는 GUI 에서 검증된 SQL 을 자동화할 뿐입니다. 복잡한 SELECT 는 SQL 탭에서 충분히 다듬은 다음, 스크립트에 “복사 + 파라미터화” 만 합니다.

  • 자주 쓸 쿼리는 .sql 파일로 저장 해 두십시오. XDatabase\Sql\ 폴더에 보관하면 운영 중 동일 쿼리를 재실행하기 쉽습니다.

  • Data 탭은 디버깅 도구, 운영 화면이 아닙니다. 운영용 표시는 7장의 DataGrid + array 변수 패턴으로 만듭니다.

체크포인트

  1. SQL 탭에서 INSERT 1건 → Data 탭에서 새로고침 → 행이 보인다.
  2. UPDATE 후 Data 탭 새로고침 → end_time, weight_g, result 가 채워졌다.
  3. 통계용 스칼라 SQL 3종이 모두 0 이상의 정상 값을 반환한다.

세 가지가 확인되면 5장의 스크립트 작업으로 넘어갑니다.

다음 단계

5장 — 스크립트로 INSERT · UPDATE