SI 프로젝트의 영원한 숙제 — 테이블 정의서(엑셀)와 실제 DDL이 따로 놉니다. 컬럼 하나 추가될 때마다 두 곳을 고쳐야 하고, 어느 쪽이 최신인지 아무도 모르게 됩니다. 이 도구는 DDL → 정의서, 정의서 → DDL 양방향 변환으로 한쪽만 진실로 두고 다른 쪽을 생성하는 흐름을 만들어 줍니다.
| 방향 | 입력 | 출력 |
|---|---|---|
| DDL → 정의서 | CREATE TABLE 문 | 마크다운 표 또는 TSV(엑셀 붙여넣기용) — 컬럼명·타입·NULL·기본값·코멘트 |
| 정의서 → DDL | 마크다운·TSV 표 | CREATE TABLE + 코멘트 문 |
방언(Oracle·PostgreSQL·MySQL) 차이는 주로 코멘트 문법에 반영됩니다 — 컬럼 코멘트를 인라인으로 쓰는 방언과 별도 COMMENT ON 문으로 쓰는 방언을 구분해 출력합니다.
CREATE TABLE users (
user_id BIGINT NOT NULL,
login_id VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
→ 정의서(요지)
| 컬럼 | 타입 | NULL | 기본값 |
| user_id | BIGINT | N | |
| login_id | VARCHAR(50) | N | |
| created_at| TIMESTAMP | Y | CURRENT_TIMESTAMP |
NUMBER(Oracle)와 NUMERIC(표준) 같은 타입명은 그대로 유지됩니다 — 방언 간 이관은 타입 매핑 검토가 따로 필요합니다.테이블 정의서는 개발자끼리의 문서가 아니라 현업·검수·운영이 함께 보는 계약서에 가깝습니다. 컬럼 코멘트가 채워진 DDL에서 생성한 정의서는 "이 컬럼이 무엇인지"가 설명된 문서가 되고, 코멘트 없는 스키마에서 나온 정의서는 이름만 나열된 표가 됩니다 — 변환 결과가 비어 보이면 스키마의 코멘트부터 채우라는 신호로 읽는 것이 맞습니다. 역방향(정의서→DDL)은 그 설명을 COMMENT 문으로 되살려 스키마에 넣어줍니다.
한 방향 변환기는 "문서 만들기"까지만 돕지만, 양방향이면 순환이 만들어집니다: 설계 단계엔 정의서→DDL로 빠르게 실물을 만들고, 개발이 진행되며 스키마가 바뀌면 DDL→정의서로 문서를 재생성합니다. 문서를 고치는 것이 아니라 다시 만들어내는 흐름이 되면, "문서가 낡는" 문제 자체가 사라집니다 — 산출물 마감 주간의 야근을 줄이는 가장 실질적인 방법입니다.
변환 결과를 검수할 때는 컬럼 수·기본키·NOT NULL 세 가지만 원본과 대조해도 큰 사고는 걸러집니다. 나머지 속성은 어긋나도 눈에 띄지만, 이 셋은 조용히 틀린 채 문서로 굳는 항목들입니다.
정의서로 만든 테이블에 테스트 데이터를 채우려면 목데이터 생성이 바로 이어집니다. 운영 쿼리 분석은 로그 바인더, 값 목록 조회는 IN절 생성기를 쓰세요.
DosqlKit(도스퀄킷)은 SQL 실무에서 반복되는 손작업을 한 화면에 모은 툴킷입니다. MyBatis 로그의 물음표(?)에 Parameters 값을 끼워 실행 가능한 SQL로 재조립하고, 엑셀·CSV 열을 IN절이나 INSERT문으로 만들고, DDL과 테이블 정의서를 서로 변환하고, 테스트용 목데이터를 생성합니다.
쿼리를 실제로 실행해 보기 전에 로그에서 바로 값을 확인하거나, 정의서 문서를 만들거나, 더미 데이터를 채워야 하는 SI·유지보수 현장을 위해 만들었습니다. 모든 변환은 접속한 기기의 브라우저 안에서 끝나며, 붙여넣은 로그·스키마·데이터가 외부 서버로 전송되지 않습니다. 아래에서 각 탭의 쓰임과 자주 묻는 질문을 정리했습니다.
콘솔에 찍힌 "Preparing:"(물음표가 든 SQL)과 "Parameters:"(값 목록) 두 줄을 붙여넣으면, 물음표 자리에 값을 순서대로 끼워 실제 실행된 SQL로 재조립합니다. 타입에 맞춰 문자열은 따옴표로 감싸 바로 실행·검증할 수 있습니다.
엑셀이나 CSV에서 복사한 열을 붙여넣으면 IN (…) 목록이나 INSERT문으로 만들어 줍니다. 오라클의 IN절 1000개 제한에 걸리면 자동으로 OR 조건으로 나눠 줍니다.
CREATE TABLE 문을 붙여넣으면 마크다운·TSV 테이블 정의서로 바꾸고, 반대로 정의서에서 DDL을 만듭니다. 목데이터 탭은 DDL에서 컬럼 유형을 추론해 원하는 행 수만큼 더미 데이터를 생성하며, 같은 시드는 항상 같은 결과를 냅니다.
네, 모든 도구를 무료로 쓸 수 있습니다. 운영 비용은 페이지에 표시되는 광고로 충당합니다.
아니요. 브라우저로 페이지를 열면 바로 쓸 수 있고, 로그인이나 프로그램 설치가 필요 없습니다.
아니요. 로그 바인딩, IN절 생성, 정의서 변환, 목데이터 생성은 모두 접속한 기기의 브라우저 안에서 처리되며, 입력한 내용은 외부 서버로 전송되지 않습니다.
아니요. 개인정보 오남용을 막기 위해 이런 식별번호는 체크섬(검증 숫자)이 일부러 어긋나게 생성되어 실제로는 유효하지 않은 값입니다. 테스트·개발 용도로만 사용하세요.
테마와 마지막으로 연 탭 같은 화면 설정만 브라우저 localStorage에 저장됩니다. 붙여넣은 로그·데이터 자체는 저장하지 않습니다.
Google 애드센스 광고가 표시될 수 있으며 광고 목적의 제3자 쿠키가 사용될 수 있습니다. 자세한 내용은 페이지 하단 "개인정보 안내"에서 확인할 수 있습니다.