Loading...
MySQL 9.5 Reference Manual 9.5의 5.4 Getting Information About Databases and Tables의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Database나 table의 이름을 잊어버렸거나, 특정 table의 구조(예를 들어 column 이름이 무엇인지)를 잊어버렸다면 어떻게 해야 할까요? MySQL은 자신이 지원하는 database와 table에 대한 정보를 제공하는 여러 statement를 통해 이 문제를 해결합니다.
앞에서 server가 관리하는 database 목록을 보여 주는 SHOW DATABASES를 이미 보았습니다. 현재 어떤 database가 선택되어 있는지 알아내려면 DATABASE() 함수를 사용합니다:
1mysql> SELECT DATABASE(); 2+------------+ 3| DATABASE() | 4+------------+ 5| menagerie | 6+------------+
아직 어떤 database도 선택하지 않았다면 결과는 NULL입니다.
기본 database에 어떤 table이 들어 있는지(예를 들어 table 이름이 확실하지 않을 때) 알아내려면 다음 statement를 사용합니다:
1mysql> SHOW TABLES; 2+---------------------+ 3| Tables_in_menagerie | 4+---------------------+ 5| event | 6| pet | 7+---------------------+
이 statement가 생성하는 output의 column 이름은 항상
Tables_in_db_name이며, 여기서 _db_name_은 database 이름입니다. 자세한 내용은 Section 15.7.7.40, “SHOW TABLES Statement”를 참조하십시오.
Table의 구조를 알아내고 싶다면 DESCRIBE statement가 유용합니다. 이 statement는 table의 각 column에 대한 정보를 표시합니다:
1mysql> DESCRIBE pet; 2+---------+-------------+------+-----+---------+-------+ 3| Field | Type | Null | Key | Default | Extra | 4+---------+-------------+------+-----+---------+-------+ 5| name | varchar(20) | YES | | NULL | | 6| owner | varchar(20) | YES | | NULL | | 7| species | varchar(20) | YES | | NULL | | 8| sex | char(1) | YES | | NULL | | 9| birth | date | YES | | NULL | | 10| death | date | YES | | NULL | | 11+---------+-------------+------+-----+---------+-------+
Field는 column 이름을 나타내고, Type은 column의 데이터 타입이며, NULL은 column이 NULL 값을 포함할 수 있는지 여부를 나타냅니다. Key는 column이 인덱스되어 있는지 여부를 나타내고, Default는 column의 기본값을 지정합니다. Extra는 column에 대한 특수 정보를 표시합니다. Column이 AUTO_INCREMENT 옵션으로 생성된 경우, 이 값은 비어 있지 않고 auto_increment가 됩니다.
DESC는 DESCRIBE의 축약형입니다. 자세한 내용은 Section 15.8.1, “DESCRIBE Statement”를 참조하십시오.
기존 table을 생성하는 데 필요한 CREATE TABLE statement는 SHOW CREATE TABLE statement를 사용하여 얻을 수 있습니다. 이에 대한 자세한 내용은 Section 15.7.7.12, “SHOW CREATE TABLE Statement”를 참조하십시오.
Table에 인덱스가 있다면, SHOW INDEX FROM tbl_name은 그들에 대한 정보를 출력합니다. 이 statement에 대한 더 자세한 내용은 Section 15.7.7.24, “SHOW INDEX Statement”를 참조하십시오.
5.3.4 Retrieving Information from a Table
5.5 Using mysql in Batch Mode