mysql
MYSQL - SHOW COLUMNS 문법
SHOW FIELDS 는 SHOW COLUMS 의 동의어입니다.
SHOW COLUMNS은 해당 테이블의 컬럼에 대한 정보를 반환합니다. 또한 뷰로 동작합니다. LIKE 절이 있으면, 매칭하기 위한 컬럼명을 표시합니다. WHERE 절은 더욱 일반적인 조건을 사용하는 열을 조회하기 위해 사용할 수 있습니다.
SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM IN} db_name] [LIKE 'pattern' | WHERE expr]
#ex.1)
mysql> SHOW COLUMNS FROM City;
-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| ld | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
| District | char(20) | YES | MUL | | |
| Population | int(11) | NO | | 0 | |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
데이터 타입이 CREATE TABLE 구문을 기반으로 기대한 것과 다르면, MySql은 테이블을 생성 또는 변경할 때 데이터 타입을 가끔 변경합니다.
FULL 단어는 결과물에 컬럼 콜레이션과 주석을 포함하도록 합니다. 단, 각 컬럼에 대한 권한이 있어야합니다.
tbl_name FROM db_name 문법에 다른 선택방법으로 db_name.tbl_name을 사용할 수 있으며 두 구문은 동일하게 동작합니다.
#ex.2)
mysql> SHOW COLUMNS FROM mytable FROM mydb:
mysql> SHOW COLUMNS FROM mydb.mytable;
SHOW COLUMNS은 각 테이블 컬럼에 대한 다음과 같은 값을 보여줍니다. Field 는 컬럼명을 나타내고, Type 은 컬럼 데이터 타입을 나타냅니다.
Collation 은 논바이너리 문자열 컬럼에 대한 컬레이션을 나타냅니다. 또는 다른 컬럼에 대 한 NULL을 나타냅니다. 이 값은 FULL 단어를 사용한 경우에 반환합니다.
Null 필드는 YES를 포함합니다. NULL 값들이 컬럼에 저장될 수 있거나, 그렇지 않으면 NO를 포함합니다.
Key 필드는 컬럼이 인덱스 되었는지 아닌지를 나타냅니다.
- Key가 빈 경우, 컬럼이 인덱스가 되지 않았거나 멀티-컬럼(논유니크 인덱스)에서 두 번째 컬럼만 인덱스 되었음을 나타냅니다.
- Key가 PRI이면, 컬럼은 PRIMARY KEY 또는 멀티 컬럼 PRIMARY KEY에 있는 컬럼 중에 하나입니다.
- Key가 UNI이면, 컬럼은 NULL 값들을 가질 수 없는 유일한 값을 갖는 인덱스의 첫 번째 컬럼입니다.
- Key가 MUL이면, 컬럼에 허용된 값이 여러 개인 경우입니다. 컬럼은 NULL값을 포함하는 논유니크 인덱스의 첫 번째 컬럼 또는 유일한 값을 갖는 인덱스입니다.
Key 값들이 한 개 이상으로 테이블의 컬럼에 적용되면, Key는 PRI, UNI, MUL의 순서대로, 가장 높은 우선순위 중 하나를 나타냅니다.
UNIQUE 인덱스는 NULL값들을 가지고 있지 않고 테이블에 PRIMARY KEY가 없으면 RRI로 나타날 것입니다.
여러 컬럼들이 하나의 복합 UNIQUE 인덱스로 구성되면 UNIQUE 인덱스는 MUL로 나타납니다.
복합 칼럼들이 유일하지 않을 지라도 각 컬럼은 해당 값에 여러 발생을 여전히 일으킬 수 있습니다.
ex#1)의 필드를 살펴보면, Default 필드는 컬럼에 할당한 기본 값을 나타냅니다. Extra 필드는 해당 컬럼에 대해 사용가능한 추가 정보를 포함합니다.
컬럼이 AUTO INCREMENT 단어로 생성되었으면 값은 auto_increment 이고, 그렇지 않으면 빈값이 됩니다.
Privileges는 컬럼에 대해 가지고 있는 권한을 나타냅니다. 이 값은 단지 FULL 단어를 사용할 때만 나타냅니다.
Comment는 컬럼이 가지고 있는 주석을 나타냅니다. 이 값은 단지 FULL 단어를 사용할 때만 표시합니다. show db_name tbl_name 명령어를 이용해 테이블의 컬럼을 또한 나열할 수 있습니다.
참고로 DESCRIBE 구문은 SHOW COLUMS 와 유사한 정보를 제공하고, SHOW CREATE TABLE, SHOW TABLE STATUS, 그리고, SHOW INDEX 구문은 또한 테이블에 대한 정보를 제공합니다.
0 댓글