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

MySQL에서 sp_help처럼 필드 유형과 제약 조건 확인하기 – SHOW CREATE 명령어 완벽 가이드

MySQL에서 sp_help를 대체하는 방법

SQL Server의 sp_help는 테이블 구조, 필드 유형, 제약 조건 등을 한눈에 확인할 수 있는 시스템 저장 프로시저입니다. MySQL에서는 이와 동일한 기능을 SHOW CREATE 명령어를 통해 손쉽게 구현할 수 있습니다.

CASE 1: 테이블 구조 확인

테이블의 생성 문(필드 유형, 기본 키, 외래 키 등 제약 조건 포함)을 확인하려면 아래 구문을 사용합니다.

SHOW CREATE TABLE yourTableName;

CASE 2: 저장 프로시저 정의 확인

저장 프로시저의 정의 내용을 확인하려면 아래 구문을 사용합니다.

SHOW CREATE PROCEDURE yourProcedureName;

실습 예제: 테이블 생성하기

먼저 예제용 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
    EmployeeId int NOT NULL AUTO_INCREMENT,
    EmployeeFirstName varchar(40) NOT NULL,
    EmployeeLastName varchar(40) NOT NULL,
    EmployeeAge int,
    EmployeeCountryName varchar(40),
    EmployeeCityName varchar(40),
    PRIMARY KEY(EmployeeId),
    UNIQUE KEY(EmployeeFirstName,EmployeeCityName)
);
Query OK, 0 rows affected (0.97 sec)

SHOW CREATE TABLE 실행하기

이제 앞서 살펴본 구문을 실제 테이블에 적용해 보겠습니다.

mysql> SHOW CREATE TABLE DemoTable;

실행하면 필드 이름, 데이터 유형, 기본 키(PK) 및 고유 키(UNIQUE KEY) 제약 조건이 모두 포함된 테이블 생성 문이 출력됩니다.

+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table 
+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable     | CREATE TABLE `demotable` (`EmployeeId` int(11) NOT NULL AUTO_INCREMENT, `EmployeeFirstName` varchar(40) COLLATE utf8_unicode_ci NOT NULL, `EmployeeLastName` varchar(40) COLLATE utf8_unicode_ci NOT NULL, `EmployeeAge` int(11) DEFAULT NULL, `EmployeeCountryName` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, `EmployeeCityName` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`EmployeeId`), UNIQUE KEY `EmployeeFirstName` (`EmployeeFirstName`,`EmployeeCityName`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.03 sec)

추가 팁: 간단한 구조 조회는 DESCRIBE 활용

생성 문 전체가 아니라 필드 이름, 데이터 유형, NULL 허용 여부, 키 정보만 빠르게 확인하고 싶다면 DESCRIBE DemoTable; 또는 축약형인 DESC DemoTable; 명령어를 사용하는 것이 더 편리합니다. 반면 스토리지 엔진, 문자셋, 콜레이션까지 포함한 상세 정의가 필요하다면 SHOW CREATE TABLE이 가장 적합한 선택입니다.