[완벽 가이드] Windows에서 MySQL Workbench로 DDL 쿼리 추출하는 방법 – 테이블 생성문 확인부터 복사까지
MySQL은 데이터베이스 세계에서 가장 널리 사용되는 오픈소스 DBMS 중 하나입니다. 특히 MySQL Workbench는 GUI 기반의 데이터베이스 설계 및 관리를 위한 공식 툴로, 초보자와 실무자 모두에게 사랑받고 있습니다.
이 글에서는 실무나 프로젝트를 진행하면서 자주 필요하게 되는 DDL(데이터 정의 언어, Data Definition Language) 쿼리를 MySQL Workbench를 통해 어떻게 추출하는지 단계별로 아주 자세하게 소개하겠습니다. 특히 CREATE TABLE 구문을 복사하거나 다른 환경에 이식하려는 개발자, 데이터베이스 설계자에게 큰 도움이 될 것입니다.
✅ DDL이란? 먼저 간단한 개념 정리부터!
DDL은 데이터베이스의 구조를 정의하거나 변경하는 데 사용되는 SQL 구문을 말합니다. 대표적인 명령어는 다음과 같습니다:
- CREATE: 테이블, 데이터베이스, 뷰 등을 생성
- ALTER: 테이블의 구조 수정 (컬럼 추가, 삭제 등)
- DROP: 테이블이나 데이터베이스 삭제
이 중에서도 가장 많이 쓰이는 것이 바로 CREATE TABLE 구문입니다. 새로운 테이블을 만들거나 기존 테이블 구조를 다른 곳에 복사하고자 할 때 반드시 필요하죠.
🎯 DDL 쿼리 추출이 필요한 이유는?
1. 데이터베이스 이전이나 마이그레이션
기존 데이터베이스에서 다른 서버나 환경으로 옮길 때 테이블의 구조를 동일하게 유지하려면, 정확한 CREATE TABLE 구문이 필요합니다.
2. 협업을 위한 공유
팀원에게 테이블 구조를 전달할 때 DDL 쿼리를 복사해 공유하면, 빠르고 명확하게 정보를 전달할 수 있습니다.
3. 버전 관리 및 백업
DDL을 추출하여 파일로 저장하면, 테이블의 버전 히스토리를 관리할 수 있어 유용합니다.
💡 MySQL Workbench에서 DDL 쿼리 추출하는 3단계
이제 본격적으로 MySQL Workbench에서 테이블 생성 DDL 쿼리를 추출하는 방법을 알아보겠습니다. Windows 기준으로 설명하며, Workbench 버전은 대개 8.0 이상이라면 동일한 인터페이스를 제공합니다.
🔹 Step 1. DDL을 추출할 테이블 선택하기
먼저 MySQL Workbench를 실행합니다. 상단 메뉴에서 Database → Connect to Database를 클릭해 원하는 데이터베이스 서버에 접속합니다.
그 다음, 좌측 패널의 SCHEMAS 섹션에서 원하는 데이터베이스를 클릭하여 하위 목록을 펼칩니다. 여기에서 DDL을 추출하고자 하는 테이블 이름을 찾아 선택합니다.
예시: users, orders, product_info 등
🔹 Step 2. 테이블 이름 우클릭 → "Table Inspector" 선택
테이블 이름에서 마우스 오른쪽 버튼을 클릭하면 여러 가지 옵션이 뜹니다.
이 중에서 [Table Inspector] 메뉴를 클릭하세요. 이 기능은 해당 테이블의 속성을 전반적으로 살펴볼 수 있는 유용한 기능입니다.
이 곳에서 테이블 구조, 인덱스, 외래키, 파티션, 통계 등도 확인 가능합니다.
🔹 Step 3. “DDL” 탭에서 CREATE TABLE 구문 확인
Table Inspector 창이 열리면 상단 탭 중 하나로 **"DDL"**이라는 이름의 탭이 존재합니다. 이 탭을 클릭하면 해당 테이블을 생성할 수 있는 정확한 CREATE TABLE 구문이 자동으로 출력됩니다.
여기에는 다음과 같은 정보가 포함됩니다:
- 테이블 이름
- 각 컬럼의 데이터 타입과 제약 조건
- 기본 키, 외래 키, 인덱스 등
- 테이블 옵션 (엔진, 문자셋 등)
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL,
`email` VARCHAR(100),
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
💡 이 쿼리는 복사가 가능하며, 다른 쿼리 툴이나 SQL 파일에 붙여넣어 활용할 수 있습니다.
✨ 추가 팁: 여러 테이블의 DDL을 한 번에 추출하는 방법
MySQL Workbench에서 개별 테이블뿐 아니라 전체 스키마의 DDL을 한 번에 추출할 수도 있습니다. 이 방법은 마이그레이션이나 백업에 매우 유용합니다.
방법:
- 상단 메뉴 → Server → Data Export 클릭
- 원하는 데이터베이스 선택
- "Dump Structure Only" 체크
- Export 버튼 클릭
이렇게 하면 선택한 스키마의 모든 CREATE TABLE 구문이 포함된 .sql 파일이 생성됩니다.
🚫 주의사항
- DDL 추출은 해당 테이블에 접근 권한이 있어야만 가능합니다. 읽기 권한이 없을 경우 쿼리 추출이 되지 않을 수 있습니다.
- 복사한 DDL을 다른 환경에 붙여넣을 때는 문자셋, 엔진, 외래키 관계 등을 꼭 확인하세요.
- 데이터는 포함되지 않으며, 순수 구조만 복사됩니다.
📌 마무리: DDL 추출을 자동화하고 싶다면?
MySQL Workbench 외에도 CLI 방식인 mysqldump를 활용하면 더 자동화된 방식으로 DDL을 추출할 수 있습니다.
mysqldump -u [사용자명] -p --no-data [데이터베이스명] > schema_only.sql
이 명령어는 해당 데이터베이스의 구조만 추출하고, 데이터는 제외합니다. CI/CD 파이프라인에 통합하여 사용할 수도 있어 실무에 적합한 방식입니다.
✅ 요약
단계 설명
1 | SCHEMAS에서 테이블 선택 |
2 | 테이블 우클릭 → Table Inspector |
3 | DDL 탭에서 CREATE TABLE 쿼리 확인 및 복사 |
📚 관련 키워드
- MySQL Workbench 테이블 생성문 추출
- MySQL DDL 복사 방법
- CREATE TABLE 쿼리 보기
- MySQL 테이블 구조 백업
- Workbench Table Inspector 사용법
🔍 마무리하며
MySQL Workbench를 활용한 DDL 추출은 아주 간단하면서도 강력한 기능입니다. 한 번 익혀두면 데이터베이스 구조 분석, 백업, 공유 등 다양한 상황에서 활용할 수 있습니다. 특히 협업이나 시스템 이전이 잦은 실무 환경에서는 없어서는 안 될 기술이죠.
이 글이 MySQL Workbench를 보다 능숙하게 다루는 데 도움이 되셨기를 바랍니다. 앞으로도 실무에서 유용한 MySQL 활용 팁들을 지속적으로 다룰 예정이니, 블로그 구독과 댓글도 잊지 마세요!