Database의 DB table이 생성되어 있을 때 이들 table 생성시 사용했던 DDL(Data Definition Language)를 보고 싶을 경우가 있다.

한마디로 이미 생성되어 있는 DB table들의 DDL을 뽑아내는 방법에 대한 것이다.


명령어 구문은(MySQL에 접속한 상태에서)


mysql> show create table 테이블명;


mysql> show create table kkk;

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table                                                                                                                                             |

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+

| kkk   | CREATE TABLE `kkk` (

  `bdid` bigint(11) unsigned NOT NULL,

  `name` varchar(80) NOT NULL,

  PRIMARY KEY (`bdid`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)


kkk라는 테이블을 생성한 DDL 구문이다.


여기서 ENGINE의 종류는 InnoDB이다. MySQL의 경우 2가지 엔진 타입이 있는 InnoDB와 MyISAM이 있다.

InnoDB의 경우는 빈번한 쓰기, 수정, 삭제가 발생할 경우 유리하고

MyISAM은 InnoDB에 비해 상대적으로 성능이 높은 편인데 주로 읽기 위주의 처리에 높은 성능을 발휘한다.

반면에 MyISAM은 빈번한 쓰기, 수정, 삭제가 발생하는 경우라면 오히려 InnoDB보다 성능이 못하다고 한다.

정답은 상황에 맞게...


여기서 또 한가 주목할 부분은 DEFAULT CHARSET=latin1을 되어 있다.

이럴 경우 한글을 insert할 때 에러가 발생한다.

이 문제에 대한 해법은 다음 링크 참조.


default charset과 한글 입력 문제




+ Recent posts