Loading...
MySQL 9.5 Reference Manual 9.5의 28.3.8 The INFORMATION_SCHEMA COLUMNS Table의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
COLUMNS 테이블은 테이블의 컬럼에 대한 정보를 제공합니다. 연관된 ST_GEOMETRY_COLUMNS 테이블은 공간 데이터를 저장하는 테이블 컬럼에 대한 정보를 제공합니다. 자세한 내용은 Section 28.3.41, “The INFORMATION_SCHEMA ST_GEOMETRY_COLUMNS Table”을 참조하십시오.
COLUMNS 테이블에는 다음과 같은 컬럼이 있습니다:
TABLE_CATALOG테이블을 포함하고 있는 컬럼이 속한 카탈로그의 이름입니다. 이 값은 항상 def입니다.
TABLE_SCHEMA컬럼을 포함하고 있는 테이블이 속한 스키마(데이터베이스)의 이름입니다.
TABLE_NAME컬럼을 포함하고 있는 테이블의 이름입니다.
COLUMN_NAME컬럼의 이름입니다.
ORDINAL_POSITION테이블 내에서 컬럼의 위치입니다.
ORDINAL_POSITION은 ORDER BY ORDINAL_POSITION와 같이 사용할 수 있도록 필요합니다. SHOW COLUMNS와는 달리, COLUMNS 테이블에 대한 SELECT에는 자동 정렬이 없습니다.
COLUMN_DEFAULT컬럼의 기본값입니다. 컬럼에 명시적으로 기본값이 NULL로 지정되어 있거나, 컬럼 정의에 DEFAULT 절이 포함되어 있지 않으면 이 값은 NULL입니다.
IS_NULLABLE컬럼의 null 허용 여부입니다. 컬럼에 NULL 값을 저장할 수 있으면 값은 YES, 그렇지 않으면 NO입니다.
DATA_TYPE컬럼의 데이터 타입입니다.
DATA_TYPE 값은 다른 정보가 없는 타입 이름만을 포함합니다. COLUMN_TYPE 값은 타입 이름과 정밀도 또는 길이 같은 추가 정보를 포함할 수 있습니다.
CHARACTER_MAXIMUM_LENGTH문자열 컬럼의 경우, 문자 단위 최대 길이입니다.
CHARACTER_OCTET_LENGTH문자열 컬럼의 경우, 바이트 단위 최대 길이입니다.
NUMERIC_PRECISION숫자 컬럼의 경우, 숫자 정밀도입니다.
NUMERIC_SCALE숫자 컬럼의 경우, 숫자 스케일입니다.
DATETIME_PRECISION시간 컬럼의 경우, 소수 초 정밀도입니다.
CHARACTER_SET_NAME문자열 컬럼의 경우, 문자 집합 이름입니다.
COLLATION_NAME문자열 컬럼의 경우, 콜레이션 이름입니다.
COLUMN_TYPE컬럼의 데이터 타입입니다.
DATA_TYPE 값은 다른 정보가 없는 타입 이름만을 포함합니다. COLUMN_TYPE 값은 타입 이름과 정밀도 또는 길이와 같은 추가 정보를 포함할 수 있습니다.
COLUMN_KEY컬럼이 인덱스되었는지 여부입니다:
COLUMN_KEY가 비어 있으면, 컬럼은 인덱스되지 않았거나 다중 컬럼, 비고유 인덱스에서 세컨더리 컬럼으로만 인덱스된 것입니다.
COLUMN_KEY가 PRI이면, 컬럼은 PRIMARY KEY이거나 다중 컬럼 PRIMARY KEY를 구성하는 컬럼 중 하나입니다.
COLUMN_KEY가 UNI이면, 컬럼은 UNIQUE 인덱스의 첫 번째 컬럼입니다. (UNIQUE 인덱스는 여러 개의 NULL 값을 허용하지만, 컬럼이 NULL을 허용하는지는 Null 컬럼을 확인하면 알 수 있습니다.)
COLUMN_KEY가 MUL이면, 컬럼은 비고유 인덱스의 첫 번째 컬럼이며, 컬럼 내에서 주어진 값의 여러 번 발생이 허용됩니다.
테이블의 특정 컬럼에 대해 둘 이상의 COLUMN_KEY 값이 적용되는 경우, COLUMN_KEY는 우선순위가 가장 높은 값을 표시하며, 우선순위 순서는 PRI, UNI, MUL입니다.
UNIQUE 인덱스는 NULL 값을 포함할 수 없고 테이블에 PRIMARY KEY가 없는 경우 PRI로 표시될 수 있습니다. 여러 컬럼이 복합 UNIQUE 인덱스를 구성하는 경우 UNIQUE 인덱스는 MUL로 표시될 수 있습니다. 컬럼 조합은 유일하지만, 각 컬럼은 여전히 주어진 값의 여러 번 발생을 가질 수 있습니다.
EXTRA지정된 컬럼에 대해 사용 가능한 추가 정보입니다. 다음과 같은 경우 값이 비어 있지 않습니다:
AUTO_INCREMENT 속성이 있는 컬럼의 경우 auto_increment.
ON UPDATE CURRENT_TIMESTAMP 속성이 있는 TIMESTAMP 또는 DATETIME 컬럼의 경우 on update CURRENT_TIMESTAMP.
생성 컬럼의 경우 STORED GENERATED 또는 VIRTUAL GENERATED.
표현식 기본값이 있는 컬럼의 경우 DEFAULT_GENERATED.
PRIVILEGES
해당 컬럼에 대해 사용자가 가진 권한입니다.
COLUMN_COMMENT컬럼 정의에 포함된 주석입니다.
GENERATION_EXPRESSION생성 컬럼에 대해, 컬럼 값을 계산하는 데 사용되는 표현식을 표시합니다. 비생성 컬럼의 경우 비어 있습니다. 생성 컬럼에 대한 정보는 Section 15.1.24.8, “CREATE TABLE and Generated Columns”을 참조하십시오.
SRS_ID이 값은 공간 컬럼에 적용됩니다. 컬럼에 저장된 값에 대한 공간 기준 체계를 나타내는 컬럼 SRID 값을 포함합니다. Section 13.4.1, “Spatial Data Types” 및 Section 13.4.5, “Spatial Reference System Support”을 참조하십시오. 비공간 컬럼 및 SRID 속성이 없는 공간 컬럼의 경우 값은 NULL입니다.
SHOW COLUMNS에서 Type 표시에는 여러 COLUMNS 컬럼의 값이 포함됩니다.
CHARACTER_OCTET_LENGTH는 멀티바이트 문자 집합을 제외하면 CHARACTER_MAXIMUM_LENGTH와 같아야 합니다.
CHARACTER_SET_NAME은 COLLATION_NAME으로부터 유도할 수 있습니다. 예를 들어, SHOW FULL COLUMNS FROM t를 실행했을 때 COLLATION_NAME 컬럼에 utf8mb4_swedish_ci 값이 보인다면, 문자 집합은 첫 번째 밑줄 앞에 나타나는 값인 utf8mb4입니다.
컬럼 정보는 SHOW COLUMNS 구문에서도 사용할 수 있습니다. Section 15.7.7.6, “SHOW COLUMNS Statement”를 참조하십시오. 다음 구문은 거의 동일합니다:
1SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT 2 FROM INFORMATION_SCHEMA.COLUMNS 3 WHERE table_name = 'tbl_name' 4 [AND table_schema = 'db_name'] 5 [AND column_name LIKE 'wild'] 6 7SHOW COLUMNS 8 FROM tbl_name 9 [FROM db_name] 10 [LIKE 'wild']
생성된 숨김 기본 키 컬럼에 대한 정보는 기본적으로 이 테이블에서 볼 수 있습니다. show_gipk_in_create_table_and_information_schema = OFF로 설정하면 이러한 정보가 숨겨지도록 할 수 있습니다. 자세한 내용은 Section 15.1.24.11, “Generated Invisible Primary Keys”를 참조하십시오.
28.3.7 The INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY Table
28.3.9 The INFORMATION_SCHEMA COLUMNS_EXTENSIONS Table