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할 때 에러가 발생한다.
이 문제에 대한 해법은 다음 링크 참조.
'MySQL' 카테고리의 다른 글
MySQL 한글 insert시 발생하는 ERROR 1366 (HY000): Incorrect string value: 문제 (3) | 2017.06.01 |
---|---|
MySQL table의 필드 값이 한글일 경우 Java 소스에서 SELECT 실패할 경우 (0) | 2017.06.01 |
mysqlimport명령어를 이용하여 로컬의 텍스트 파일이나 dump파일을 MySQL db의 table에 값 저장하기 (0) | 2017.05.18 |
mysqldump시 unknown variable 'symbolic-links=0'라는 에러에 대해 (0) | 2017.03.10 |
MySQL insert시 홑 따옴표(single quotes) 처리하는 법 (0) | 2016.12.23 |