본문 바로가기
DB & SQL/이것이 MySQL이다

DB 및 테이블의 정보를 출력하는 명령어

by k-mozzi 2022. 5. 29.
반응형
Preface


MySQL을 사용하다 보면 DB나 테이블의 정보를 출력하는 명령어를 사용해야 하는 경우가 종종 있는데,

이런 명령어들은 자주 사용하는 코드가 아니라 매번 이전 글들을 확인해야 하는 불편함이 있다.

이러한 단점을 줄이고, 필요한 모든 명령어를 한 눈에 볼 수 있는 편의성을 제공하기 위해 이렇게 따로 글을 업로드한다.

추후 다른 명령어들을 배우면 이번 글의 하단에 추가할 계획이다.



1. MySQL의 DB 및 테이블의 정보 출력 명령어


- 현재 서버에 어떤 DB가 있는지 조회

show databases;



- 현재의 DB에 있는 테이블의 정보를 조회

show table status;

-- 특정 테이블
show table status like '테이블이룸';



- 특정 테이블의 열이 무엇이 있는지 확인

describe 테이블이름; / desc 테이블이름;



- user( ), database( ): 현재 사용자 및 현재 선택된 데이터베이스를 구한다.

select current_user(), database();



- 테이블에 지정된 키를 보는 방법

show keys from 테이블이름



- 테이블에 저장된 인덱스를 보는 방법

show index from 테이블이름;



- 단편화 제거 방법

optimize table 테이블이름;
-- InnoDB 엔진의 경우 analyze가 포함되어 있다.



- 테이블 분석/처리 기법 (생성한 인덱스를 실제로 적용)

analyze table 테이블이름;
-- 생성한 인덱스를 테이블에 실제로 적용하기 위해 필요



- 현재 저장된 프로시저의 이름 및 내용 확인 방법

-- 현재 저장된 프로시저의 이름 및 내용 확인
select routine_name, routine_definition from information_schema.routines
	where routine_schema = 'sqldb' and routine_type = 'PROCEDURE';
-- 프로시저 이름 꼭 대문자로 입력해야 됨
    
-- 스토어드 프로시저의 내용을 확인하는 다른 방법
show create procedure sqldb.userProc3;



- 스토어드 프로시저의 파라미터 확인 방법

-- 특정 프로시저의 파라미터 확인
select parameter_mode, parameter_name, dtd_identifier
	from information_schema.parameters
    where specific_name = 'userProc3';



- 전체 텍스트 인덱스로 만들어진 단어를 확인하는 방법

set global innodb_ft_aux_table = 'DB이름/테이블이름'; -- 모두 소문자로 작성해야 함
select word, doc_count, doc_id, position
	from information_schema.innodb_ft_index_table;



- 파티션 정보를 확인하는 방법

select table_schema, table_name, partition_name, partition_ordinal_position, table_rows
	from information_schema.partitions
    where table_name = 'parttbl';

728x90
반응형

'DB & SQL > 이것이 MySQL이다' 카테고리의 다른 글

스토어드 프로그램 (2)  (0) 2022.06.25
스토어드 프로그램 (1)  (0) 2022.06.23
인덱스 (2)  (0) 2022.05.29
인덱스 (1)  (0) 2022.05.24
  (0) 2022.05.21

댓글