Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 쿼리 한 줄로 테이블 DDL 확인하기: SHOW CREATE TABLE 완벽 가이드

DDL(Data Definition Language, 데이터 정의 언어)은 테이블 생성, 수정, 삭제 등 데이터베이스 구조를 정의하는 데 사용되는 SQL 명령어 집합입니다. MySQL에서는 복잡한 절차 없이 단 하나의 쿼리만으로 특정 테이블의 전체 DDL을 손쉽게 확인할 수 있습니다.

SHOW CREATE TABLE 명령어란?

쿼리를 통해 테이블의 DDL을 생성하려면 SHOW CREATE 명령어를 사용합니다. 기본 문법은 다음과 같습니다.

SHOW CREATE TABLE yourTableName;

위 문법은 MySQL 전용으로 제공되는 기능입니다. 이 명령어 하나만 실행하면 해당 테이블을 그대로 재현할 수 있는 CREATE TABLE 문 전체가 출력되므로, 백업 스크립트 작성이나 환경 간 테이블 구조 마이그레이션 시 매우 유용하게 활용됩니다.

실습 예제: 샘플 테이블 만들기

설명을 돕기 위해 'DDLOfTableStudent'라는 이름의 학생 정보 테이블을 먼저 생성해 보겠습니다.

mysql> create table DDLOfTableStudent
   -> (
   -> StudentId int,
   -> StudentFirstName varchar(100),
   -> StudentLastName varchar(100),
   -> StudentAddress varchar(200),
   -> StudentAge int,
   -> StudentMarks int
   -> );
Query OK, 0 rows affected (0.84 sec)

테이블이 성공적으로 생성되었습니다. 이제 위에서 소개한 문법을 사용해 이 테이블의 DDL을 조회해 보겠습니다.

DDL 조회 쿼리 실행

mysql> SHOW CREATE TABLE DDLOfTableStudent;

실행 결과 확인

다음은 쿼리 실행 결과로 출력된 DDL 내용입니다.

+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table             | Create Table                                                                                                                                                                                                                                                                                                                                                   |
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DDLOfTableStudent | CREATE TABLE `ddloftablestudent` (`StudentId` int(11) DEFAULT NULL,`StudentFirstName` varchar(100) DEFAULT NULL,`StudentLastName` varchar(100) DEFAULT NULL,`StudentAddress` varchar(200) DEFAULT NULL,`StudentAge` int(11) DEFAULT NULL,`StudentMarks` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

결과를 살펴보면 두 개의 컬럼이 반환됩니다. 첫 번째 컬럼에는 테이블 이름이, 두 번째 컬럼에는 해당 테이블의 완전한 CREATE TABLE 문이 표시됩니다. 출력 결과에는 컬럼 정의뿐만 아니라 스토리지 엔진(InnoDB), 기본 문자셋(utf8mb4), 콜레이션(utf8mb4_0900_ai_ci) 같은 세부 설정까지 모두 포함됩니다.

추가 팁: 더 읽기 좋은 결과 보기

테이블 형태의 출력은 가로로 길어서 콘솔에서 보기 불편할 수 있습니다. 이 경우 쿼리 끝에 \G를 붙여 실행하면 세로 방향으로 결과가 정렬되어 훨씬 읽기 편해집니다.

mysql> SHOW CREATE TABLE DDLOfTableStudent\G

SQL Server와의 비교

참고로 SQL Server에는 SHOW CREATE TABLE과 동일한 명령어가 없습니다. 대신 SSMS(SQL Server Management Studio)의 개체 탐색기에서 테이블을 우클릭한 뒤 '테이블 스크립팅 → CREATE → 새 쿼리 편집기 창' 메뉴를 사용하거나, sp_help 시스템 저장 프로시저 또는 INFORMATION_SCHEMA 뷰를 조회하여 테이블 구조를 확인할 수 있습니다.