이 포스팅에서는 직접 사용했던 부분에 대해서만 간략히 기재하려고 한다.
MySQL documentation에서 INFORMATION_SCHEMA의 테이블에 대한 상세한 내용을 확인할 수 있다.
https://dev.mysql.com/doc/refman/8.0/en/information-schema-table-reference.html
MySQL :: MySQL 8.0 Reference Manual :: 26.2 INFORMATION_SCHEMA Table Reference
dev.mysql.com
테이블 정보 : INFORMATION_SCHEMA.TABLES
TABLE_SCHEMA | 테이블이 속한 스키마(데이터베이스) |
TABLE_NAME | 테이블 이름 |
TABLE_TYPE | BASE TABLE, VIEW, SYSTEM VIEW 등 테이블 유형 |
TABLE_ROWS | 행 수 (InnoDB같은 경우 이 값은 근사치이며 실제 값과 차이가 날 수 있음) |
DATA_LENGTH | 데이터의 길이(바이트) |
INDEX_LENGTH | 인덱스의 길이(바이트) |
TABLE_COMMENT | 테이블 설명 |
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
- 현재 접속한 데이터베이스의 정보만을 조회하도록 조건을 추가
SELECT ROUND(SUM(DATA_LENGTH+INDEX_LENGTH)/1024/1024,2) "MB"
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
- 데이터베이스의 용량 확인 (1024로 두 번 나누어 MB단위로 환산)
컬럼 정보 : INFORMATION_SCHEMA.COLUMNS
TABLE_SCHEMA | 테이블이 속한 스키마(데이터베이스) |
TABLE_NAME | 테이블 이름 |
COLUMN_NAME | 열의 이름 |
ORDINAL_POSITION | 열의 위치 |
IS_NULLABLE | NULL 허용여부 |
DATA_TYPE | 열의 데이터 유형 (유형 이름 뿐 그 외 정보 없음) |
CHARACTER_MAXIMUM_LENGTH | 문자열의 경우 최대 문자 길이 |
COLUMN_TYPE | 열의 데이터 유형 (유형 이름, 길이 등 기타 정보 포함) |
COLUMN_KEY | PRI - PRIMARY KEY 또는 여러 PRIMARY KEY 중 하나 UNI - UNIQUE 인덱스의 첫번째 열 MUL - NON UNIQUE 인덱스의 첫번째 열 |
COLUMN_COMMENT | 열 설명 |
인덱스 정보 : INFORMATION_SCHEMA.STATISTICS
TABLE_SCHEMA | 인덱스가 포함된 테이블이 속한 스키마(데이터베이스) |
TABLE_NAME | 인덱스가 포함된 테이블 이름 |
NON_UNIQUE | 인덱스에 중복 항목이 포함될 수 없으면 0, 가능하면 1 |
INDEX_NAME | 인덱스 이름 |
SEQ_IN_INDEX | 인덱스의 스퀀스 번호 (1부터 시작) |
COLUMN_NAME | 열 이름 |
COLLATION | 정렬 방식 오름차순이면 A, 내림차순이면 D, 정렬되지 않으면 NULL |