콘텐츠로 이동

DB

Blyck 안에서 DB(데이터베이스)에 접속해 표 목록을 보고, SQL(데이터베이스에 내리는 명령문)을 쓰고 실행하고, 결과를 표로 보고 고치고 파일로 내보냅니다. 다섯 종류의 DB를 같은 화면, 같은 방법으로 다룹니다.

구분기능요금
기본접속, 저장된 접속, 스키마 트리, SQL 편집기, 실행·중단, 결과 그리드, 셀 편집, 새 행 추가, 내보내기, 트랜잭션, 표 구조 바꾸기, 히스토리, 스니펫, 연결 전환무료
AISQL 편집기 AI(Ctrl+I), 그리드 셀 AIPro

PostgreSQL 접속 창 — 서버 주소·계정·SSL·저장 이름

  1. Host · Port · Database · User — 접속할 서버와 계정 (포트 기본 5432, DB 기본 postgres)
  2. 비밀번호 — "저장 이름"을 넣을 때만 이 PC에 암호화해 저장, 다음부터 입력 없이 접속
  3. SSL — "사용 안 함 (기본)" / "사용 + 인증서 검증 (운영 권장)" / "사용 + 자체 서명 허용 (개발/내부망 한정 — MITM 위험)"
DB명령 팔레트 이름단축키기본 포트꼭 넣을 칸
SQLiteSQLite DB 열기…Ctrl+Alt+D없음(파일)파일
OracleOracle 접속…Ctrl+Alt+O1521Host · Service · User
PostgreSQLPostgreSQL 접속…Ctrl+Alt+P5432Host · User
MSSQLMSSQL 접속…Ctrl+Alt+M1433Server · User
MySQLMySQL 접속…Ctrl+Alt+Y3306Host · User

여는 곳: 새 탭 메뉴의 DB 아이콘 칸(SQLite·Oracle·PostgreSQL·MSSQL·MySQL), 위 단축키(맥은 Cmd+Option+글자), 명령 팔레트, 또는 저장된 접속 목록. DB는 언제나 지금 칸에 새 서브탭으로 열립니다.

  • Enter = 접속, Esc = 취소. Port를 비우면 기본 포트를 씁니다.
  • 저장 이름을 넣고 접속하면 저장된 접속에 들어가고, 비밀번호도 OS 암호화로 함께 저장됩니다. 다음부터 누르면 창 없이 바로 접속합니다.
  • MariaDB는 **MySQL 접속…**으로 연결합니다.
DB알아 둘 점
SQLite이미 있는 파일만 열립니다(새 DB 만들기 없음). 한 번 연 파일은 저장된 접속에 저절로 들어갑니다
Oracle설치 없이 바로 쓰는 Thin 방식으로 먼저 접속하고, 안 되면 PC의 64비트 Oracle Instant Client를 쓰는 Thick 방식으로 자동 재시도합니다. Service 칸에는 서비스 이름 또는 SID를 넣습니다(TNS 이름 칸은 없음). 트리에는 접속 계정의 객체만 보입니다
PostgreSQL트리에는 Schema 칸의 스키마 하나만(기본 public) 보입니다. SSL 세 가지 중 고름
MySQLDatabase를 꼭 넣어야 스키마 트리가 보입니다
MSSQLSQL Server 인증(아이디·비밀번호)만 됩니다(Windows 통합 인증 없음). 쿼리 한 번은 60초가 넘으면 실패합니다. 이름 있는 인스턴스는 host\SQLEXPRESS

스키마 트리와 SQL 편집기·결과 표

  1. 스키마 트리 — 머리의 DB 이름(shop · PostgreSQL ▾)을 누르면 다른 DB로 바꿉니다(이전 DB는 닫지 않고 뒤에 그대로). 테이블을 펼치면 "컬럼" · "인덱스" · "트리거" 묶음이 그 안에 있고, 설명(주석)이 흐리게 보입니다. 찾기 칸 옆에 찾을 곳 "이름" | "컬럼" | "설명"
  2. SQL 편집기 — 머리 한 줄에 "실행" · 지금 쿼리 ▾(이 칸의 쿼리 목록) · "자동커밋" · AI, 오른쪽 끝에 실행할 DB(shop · PostgreSQL ▾). 트리에서 연 표는 쿼리 하나를 계속 다시 써서 쌓이지 않습니다
  3. 결과 줄 "10행 · 0.01초"와 "결과에서 찾기" — 그 아래 결과 그리드

접속하면 그 DB의 표(테이블)·뷰·시퀀스·패키지·함수·프로시저·잡·스케줄러·DB 링크가 종류별 묶음으로 보입니다. 인덱스·트리거는 그 표 안에 들어 있고, 그 DB에 없는 종류는 묶음이 보이지 않습니다.

묶음클릭더블클릭마우스 오른쪽 버튼
테이블표 안(컬럼 · 인덱스 · 트리거) 펼치기SQL 편집기에서 앞 200행 조회를 바로 실행(미리보기 쿼리 — 다음 표를 열면 그 쿼리를 다시 씀)표 구조 바꾸기 메뉴
뷰컬럼 펼치기앞 200행 조회—
표 안 인덱스 · 트리거, 패키지(Oracle) · 함수 · 프로시저패키지만 안의 함수·프로시저 펼치기정의(CREATE 문)를 SQL 편집기에 보여 줌(실행 안 함)인덱스는 DROP INDEX…
  • 머리줄 왼쪽의 DB 이름 ▾(예: shop · PostgreSQL)를 누르면 열려 있는 DB와 저장된 DB 접속이 나옵니다. 고르면 같은 칸에서 그 DB 트리로 바뀌고, 이전 DB는 닫지 않고 뒤에 그대로 둡니다(목록에서 다시 고르면 돌아옴, 줄의 **×**로 닫기).
  • 머리줄의 새 쿼리는 빈 SQL 편집기를 열고, 새로고침 아이콘은 목록을 다시 읽고, 모두 접기 아이콘은 처음 모습(테이블 묶음만 펼침)으로 돌립니다.
  • 찾기 칸 오른쪽 **[이름 | 컬럼 | 설명]**에서 찾을 곳을 고릅니다(여러 개 함께 켤 수 있음). 표 안쪽(컬럼·인덱스·트리거)만 맞으면 그 표가 저절로 펼쳐집니다.
  • 트리의 이름을 끌어 SQL 편집기에 놓으면 그 자리에 이름이 들어갑니다.
  • 기본 키(PK) 컬럼에는 열쇠 그림과 PK가 붙고, 표·컬럼의 설명(주석)이 이름 옆에 흐리게 보입니다. Oracle에서 깨진(INVALID) 객체는 붉은 ⚠로 보이고, 머리줄의 ⚠ 숫자를 누르면 깨진 것만 남습니다.

표 우클릭 — 엑셀 · CSV와 표 구조 바꾸기

섹션 제목: “표 우클릭 — 엑셀 · CSV와 표 구조 바꾸기”

테이블에서 마우스 오른쪽 버튼(또는 줄 끝 ⋯)을 누르면 맨 위에 엑셀 · CSV 묶음이 있습니다. 엑셀(.xlsx)과 CSV 모두 됩니다. 뷰에서는 **데이터 다운로드…**만 나옵니다.

메뉴하는 일
양식 다운로드…그 표에 맞는 빈 양식. 1줄 컬럼 이름 · 2줄 안내(타입 · 필수 · 키) · 3줄 예시(실제 값 1행 또는 만든 예시). 4줄부터 채웁니다
데이터 다운로드…표 전체를 파일로. 머리 줄을 양식과 같게로 받으면 고쳐서 바로 다시 올릴 수 있습니다
데이터 업로드…채운 파일을 골라 넣기 전에 미리 보기 — 건너뛸 안내·예시 줄, 오류 줄과 이유(숫자가 아님 · 필수 칸 빔 · 이미 있는 키 등). 넣는 방식은 새 행으로 추가 · 같은 키가 있으면 고치기(기본 키가 있는 표) · 표를 비우고 다시 넣기. 한 번에 넣고, DB가 오류를 내면 전부 되돌립니다
  • 업로드는 변경 이력(ChangeSet)에서 되돌릴 수 없습니다. 크게 바꾸기 전에는 **데이터 다운로드…**로 먼저 받아 두세요.

테이블에서 마우스 오른쪽 버튼 → 컬럼 추가… · 컬럼 변경… · 테이블 이름 변경… · 인덱스 추가… · DROP TABLE…. 입력 창을 채우면 SQL을 만들어 줍니다. 바로 실행하지 않고 편집기에 넣어 주므로, 확인한 뒤 직접 실행합니다. DROP은 이름을 정확히 똑같이 쳐야 SQL이 만들어집니다. SQLite는 **컬럼 변경…**을 지원하지 않습니다.

위치버튼하는 일
머리 줄▶ 실행 · ■실행(Ctrl+Enter) / 실행 중단(■는 실행 중에만 보임)
지금 쿼리 이름 ▾이 칸의 쿼리 목록(최근 쓴 순) · 맨 아래 새 쿼리. 두 번 누르면 이름 바꾸기
● 자동커밋누르면 ● 수동 커밋으로 바뀜(트랜잭션)
커밋 · 롤백수동 커밋일 때만 보임
AI이 SQL 고치기 · 설명(Ctrl+I) — 누르면 바로 입력 상자 (Pro)
히스토리 · 스니펫 아이콘실행했던 SQL / 이름 붙여 저장한 SQL
포맷 · 내보내기 아이콘SQL 줄 정리(Ctrl+Shift+F) / CSV·Excel·클립보드. 칸이 좁으면 아이콘 넷이 ⋯ 안으로
오른쪽 끝 DB 단추(이름 · DB 종류 ▾)실행할 DB 바꾸기
  • 트리에서 연 표는 미리보기 쿼리(이름이 기울임 글씨)로 열려, 다른 표를 열면 그 쿼리를 다시 씁니다. 표를 여러 개 훑어봐도 쿼리가 쌓이지 않습니다. SQL을 고치면 보통 쿼리로 남습니다.
  1. SQL을 씁니다. 그 DB의 표·뷰 이름은 강조 색으로 보이고, FROM 뒤에서는 표, 표이름. 뒤에서는 컬럼이 자동완성됩니다.
  2. Ctrl+Enter 또는 ▶ 실행.
    • 글자를 골라 두면 고른 부분만, 아니면 편집 칸 전체를 실행합니다.
    • 한 번에 한 문장이 기본입니다. 여러 문장이 있으면 실행할 문장만 골라 실행하세요.
  3. 조회는 결과 표가 열리고 결과 줄에 N행 · X초(예: 5,000행 · 0.44초), 변경은 완료 — 변경 N행이 보입니다.
  • 오래 걸리는 쿼리는 ■(실행 중단)로 멈춥니다. 화면은 바로 풀리고, 서버에도 중단을 요청합니다(SQLite는 화면만 풀림).
  • SQL 편집기에서 직접 실행할 때는 확인 창 없이 바로 실행됩니다.

결과 그리드 — 셀 편집·찾기·정렬·내보내기

  1. 셀을 두 번 클릭해 고치면 편집 칸 끝에 UPDATE 문이 붙습니다. 자동 실행은 안 되고, 확인 후 Ctrl+Enter
  2. 결과 줄의 + 행 · 행 복사(한 표만 조회했을 때)와 "결과에서 찾기" — 받은 행 안에서 글자로 거르기. "저장" · "취소"는 새 행이 있을 때만 보입니다
  3. 머리 칸을 누르면 정렬 ▲/▼ (받은 행 안에서만). 한 표만 조회하면 컬럼 형식이 흐리게 붙습니다
  4. 내보내기 아이콘 — CSV 파일 (.csv) · Excel 파일 (.xls) · 클립보드 (TSV — 붙여넣기)
하고 싶은 일방법
정렬머리 칸 누르기(▲/▼). 받은 행 안에서만 정렬
거르기결과 줄의 결과에서 찾기 칸
더 받기한 번에 최대 5,000행. 더 있으면 결과 줄의 다음 5,000행 ▾
복사셀을 끌어 고르고 Ctrl+C(엑셀에 바로 붙여 넣기)
한 행 세로로 보기맨 왼쪽 # 칸 누르기
긴 값 통째로 보기Shift+더블클릭
고른 행으로 INSERT/UPDATE 문 만들기Ctrl+G(DML 생성기)
  1. 셀을 두 번 클릭하고 값을 고친 뒤 Enter.
  2. 편집 칸 맨 끝에 UPDATE … WHERE 기본키 = 값;이 덧붙고 골라진 상태가 됩니다.
  3. 확인한 뒤 Ctrl+Enter로 실행합니다. 자동으로 실행되지 않습니다.

한 표만, 기본 키가 결과에 들어 있을 때만 고칠 수 있습니다(JOIN·GROUP BY·UNION·DISTINCT·뷰는 안 됨).

새 행 · 행 복사 · 엑셀 붙여 넣기 → INSERT

섹션 제목: “새 행 · 행 복사 · 엑셀 붙여 넣기 → INSERT”

한 표만 조회한 결과면 결과 줄에 + 행 · 행 복사 아이콘이 보이고, 대기 행이 생기면 저장 · 취소가 나타납니다.

  1. + 행 또는 행 복사로 대기 행을 만들고 칸을 채웁니다(빈칸은 NULL).
  2. 엑셀에서 붙여 넣으려면 대기 행의 # 칸을 눌러 기준으로 정하고 Ctrl+V. 행이 모자라면 저절로 늘어납니다.
  3. 저장. 자동커밋을 저절로 끄므로, 결과를 보고 커밋 또는 롤백합니다. 실패한 행은 남아 고쳐서 다시 저장할 수 있습니다.

내보내기 아이콘 → CSV 파일 (.csv) · Excel 파일 (.xls) · 클립보드 (TSV — 붙여넣기).

  • 파일 내보내기는 그리드의 5,000행이 아니라 원래 SQL을 다시 실행해 전체를 저장합니다. 그래서 그리드의 필터·정렬은 파일에 반영되지 않습니다.
  • CSV는 UTF-8(BOM 포함)입니다. Excel은 모든 칸을 글자 형식으로 저장하고, 최대 1,048,575행입니다.
  • 클립보드 복사는 그리드의 필터·정렬을 반영합니다.

데이터를 바꾼 뒤 바로 확정할지(자동커밋, 기본), 확인하고 나서 확정할지(수동 커밋) 정합니다.

  1. 머리 줄의 ● 자동커밋을 눌러 ● 수동 커밋으로 바꿉니다. 커밋 · 롤백 단추가 나타납니다.
  2. UPDATE·INSERT·DELETE를 실행하면 ● 미확정이 뜹니다.
  3. 맞으면 커밋, 아니면 롤백.
  • 트랜잭션은 접속 단위입니다. 같은 접속의 SQL 탭들은 커밋 안 한 변경을 함께 쓰고, 한 탭에서 커밋하면 모두 확정됩니다.
  • CREATE·ALTER·DROP 같은 구조 변경은 DB에 따라 즉시 확정되어 롤백할 수 없습니다(Oracle DDL은 롤백 불가).

SQL 편집기에서 사람이 직접 실행할 때는 확인 창이 없습니다. AI가 실행하거나, 코드 편집기의 ▶ 실행으로 실행할 때 아래처럼 묻습니다.

위험도해당 SQL
확인 없음SELECT 등 읽기만 하는 SQL
확인WHERE 있는 UPDATE·DELETE, INSERT, MERGE, CREATE 등
강한 확인DROP, TRUNCATE, ALTER, WHERE 없는 UPDATE·DELETE

AI의 UPDATE·DELETE는 영향받을 행 수를 미리 세어 보여 줍니다.

DB를 바꾼 실행(사람·AI 모두)은 변경 이력에 남고, 단순한 UPDATE·DELETE는 실행 전에 되돌리기용 백업을 만듭니다.

DB백업 방법
SQLite바뀔 행을 Blyck 이력 파일에 보관(최대 1,000행, UPDATE는 기본 키 필요)
Oracle · PostgreSQL · MSSQL · MySQLDB 안에 blyck_bak_… 백업 표를 만들어 복사(자동커밋일 때만)
  • 되돌리기는 Ctrl+Shift+H → DB 기록 줄 → [DB 되돌리기]. 그 DB에 접속해 있어야 합니다.
  • 서버 DB에 생기는 blyck_bak_… 표는 ChangeSet 창의 **[백업 테이블 정리]**로 지웁니다.
  • JOIN·서브쿼리 같은 복잡한 문장, INSERT, DROP·TRUNCATE는 되돌릴 수 없습니다.

DB 되돌리기 확인 창 — 실행할 SQL과 연결을 먼저 보여 줌

  1. "연결:" — 되돌릴 DB. 그 DB에 지금 접속해 있어야 합니다
  2. 실행할 되돌리기 SQL — 서버 DB는 바꾸기 전에 만들어 둔 blyck_bak_… 백업 표에서 되살립니다
  3. "⚠ 운영 데이터가 실제로 변경됩니다." 확인 후 [되돌리기 실행]
  • 연결 전환: SQL은 그대로 두고 실행할 DB만 다른 접속으로 바꿉니다(머리 줄 오른쪽 끝 DB 단추 ▾). 개발 → 검증 → 운영 DB에 같은 쿼리를 차례로 돌릴 때 씁니다. 목록에는 열려 있는 DB와 저장된 DB 접속이 함께 나옵니다. 저장된 접속을 고르면 접속하면서 그 DB 트리를 트리 칸 뒤에 열어 둡니다(지금 보던 트리는 그대로).
  • 히스토리: 실행에 성공한 SQL 최근 300개. 모든 접속이 한 목록을 씁니다.
  • 스니펫: 자주 쓰는 SQL에 이름을 붙여 저장(최대 500개).
  • 다시 켰을 때: 열려 있던 DB 칸과 SQL 편집기 내용을 다시 엽니다. 비밀번호가 저장되지 않은 접속은 비밀번호 창이 뜹니다.

SQL 편집기 AI(Ctrl+I) — 위: 입력 상자(표 정보와 방금 난 오류를 칩으로 같이 보냄) · 아래: 고친 결과(바뀐 줄 아래 작은 카드, 실행하지 않고 문법만 확인)

  1. "AI" 단추 또는 Ctrl+I — 커서 자리에 상자가 뜹니다. 위 줄은 ✦ 입력칸 · ↑ · ×, 고른 부분이 있으면 그 부분만, 없으면 SQL 전체 (Pro)
  2. 아래 줄 칩 — SQL에 나온 표의 컬럼(orders 6 = 컬럼 6개, 마우스를 올리면 자세히)과 방금 난 오류(ORA-00904, ×로 뺌). 오른쪽 끝 모델 이름을 누르면 모델을 고릅니다
  3. 고친 결과 — 바뀐 줄 바로 아래 작은 카드: 고친 이유 한 줄 · +1 −1 · "문법 확인됨 — 실행하지 않음" · "채팅에서 이어서" · "버리기 Esc" · "적용 Tab"

편집 칸의 SQL을 AI에게 고쳐 달라고 하거나 설명을 듣습니다.

  1. 머리 줄 AI 단추나 Ctrl+I를 누르면 커서 자리에 상자가 뜹니다. 고른 부분이 있으면 그 부분만, 없으면 SQL 전체가 대상입니다.
  2. 상자는 위 줄에 ✦ 입력칸 · ↑(보내기) · ×, 아래 줄에 같이 보내는 칩이 있습니다. SQL에 나온 표(예: orders 6 = 컬럼 6개, 마우스를 올리면 자세히)와 방금 난 오류(예: ORA-00904)가 보이고, 이 표들의 컬럼 이름 · 타입 · 키 · 설명이 함께 가서 AI가 컬럼 이름을 짐작하지 않습니다. 오류는 **×**로 뺄 수 있습니다. 오른쪽 끝 모델 이름을 누르면 모델을 고릅니다.
  3. 부탁을 쓰고 Enter. 예: 이 오류 고쳐줘 · 사용자별 합계로 · 설명해줘
  4. 고친 SQL은 실행하지 않고 문법만 확인합니다(DB가 오류를 내면 AI가 다시 고침, 최대 2번). 바뀐 줄을 그 자리에서 빨강·초록으로 보여 주고, 왜 바꿨는지 한 줄과 문법 확인됨 — 실행하지 않음이 붙습니다. 적용 Tab · 버리기 Esc · 채팅에서 이어서
  • 보내는 동안 상자에 단계(표 정보 → AI가 고치는 중 → 문법 확인)가 보입니다. ↑ 자리의 ■ 멈춤을 누르면 그만두되 상자는 남아, 쓴 글을 고쳐 다시 보낼 수 있습니다.
  • 설명을 부탁하면 SQL은 그대로 두고 같은 모양의 카드로 답합니다. 답 복사, 아래 이어서 묻기… 칸(앞 질문과 답을 같이 보내 다시 물음), 채팅에서 이어서가 있습니다. 채팅에서 이어서는 요청 · 원래 SQL · 고친 SQL · 이유 · 문법 확인 · 같이 보낸 표 정보와 오류를 전부 채팅 입력칸에 붙여 둡니다(보내기는 직접).
  • 새 쿼리는 AI 채팅에 말로 부탁하세요. 채팅이 표 구조를 보고 SQL을 돌려 본 뒤 코드 블록으로 주고, 코드 블록의 ⤓ 편집기에 넣기를 누르면 그 DB의 SQL 편집기 커서 아래에 들어갑니다. 실행은 직접 합니다.
  • 그리드 셀 AI: 결과 표에서 셀을 고른 뒤 그리드에서 Ctrl+I → “이 값들 이상점 분석”처럼 묻습니다. 고른 행이 200개를 넘으면 앞 200행만 보냅니다.

AI 채팅에서도 열린 DB를 보고 구조를 살피거나 SQL을 실행할 수 있습니다(쓰기는 승인 카드). AI 채팅을 보세요.

Q. Oracle에서 NJS-116 오류가 나요. Thin 방식이 지원하지 않는 비밀번호 방식입니다. Thick 강제를 체크하고 Client 경로에 64비트 Instant Client 폴더를 지정하세요.

Q. Oracle에서 NJS-118 오류가 나요. 이미 Thin으로 접속한 뒤라 Thick으로 바꿀 수 없습니다. 앱을 다시 켠 뒤 Thick 강제로 접속하세요.

Q. Oracle에서 ORA-12514 / ORA-12505가 나요. 서비스 이름이나 SID가 맞지 않습니다. Service 칸 값을 확인하세요.

Q. MySQL 트리에 “database(스키마)를 지정하세요”가 떠요. Database 칸을 비웠습니다. 저장된 접속의 ✎ 또는 접속 창에서 Database를 넣으세요.

Q. 결과가 5,000행에서 멈춰요. 한 번에 5,000행만 받습니다. 결과 줄의 다음 5,000행 ▾ 또는 내보내기 아이콘을 쓰세요.

Q. 셀을 고쳤는데 DB에 반영이 안 돼요. UPDATE 문만 만들어집니다. 편집 칸 끝의 UPDATE를 Ctrl+Enter로 실행하세요(수동 커밋이면 커밋까지).

Q. 내보낸 파일에 필터가 안 먹어요. 파일 내보내기는 원래 SQL 전체를 다시 실행합니다. SQL에 WHERE를 넣거나 클립보드 복사를 쓰세요.

Q. CSV를 엑셀로 열었더니 한글이 깨져요. 엑셀의 “데이터 가져오기”에서 UTF-8을 지정하거나 클립보드(TSV)로 붙여 넣으세요.

Q. DB에 blyck_bak_… 표가 생겼어요. 되돌리기용 백업입니다. ChangeSet 창의 **[백업 테이블 정리]**로 지우세요.

Q. AI가 고친 SQL이 실행되지 않았어요. 고친 SQL은 일부러 실행하지 않고 문법만 확인합니다. 적용 Tab으로 넣은 뒤 Ctrl+Enter로 실행하세요.

Q. 다시 켰더니 DB 칸이 비어 있어요. 비밀번호가 저장되지 않은 접속입니다. 뜨는 창에 비밀번호를 넣고, 다음부터는 저장 이름을 넣고 접속하세요.