테이블·컬럼 찾기 SQL
테이블/컬럼 검색·목록 쿼리
🔒 이 도구는 입력한 데이터를 서버로 전송하지 않습니다. 모든 변환·계산은 여러분의 브라우저 안에서만 실행되므로 민감한 데이터도 안전하게 처리할 수 있습니다.
테이블·컬럼을 이름으로 찾는 SQL
"user 가 들어간 테이블이 어디 있지?", "이 컬럼을 쓰는 테이블 전부 찾아줘" — DB를 다루다 보면 매일 검색하게 되는 쿼리입니다. 하지만 메타데이터를 조회하는 방법이 DB마다 달라 매번 구글링하게 됩니다. 이 도구는 테이블명/컬럼명으로 찾기, 전체 테이블 목록, 특정 테이블의 컬럼 목록을 DB에 맞는 정확한 쿼리로 만들어 줍니다.
DB별 메타데이터 소스
- Oracle —
all_tables·all_tab_columns(자기 스키마는user_tables·user_tab_columns). ★객체명이 대문자로 저장되므로UPPER(...) LIKE UPPER('%키워드%')로 검색합니다. - MySQL —
information_schema.tables·columns(또는SHOW TABLES LIKE·SHOW COLUMNS FROM). 현재 DB 한정은table_schema = DATABASE(). - SQL Server —
sys.tables·sys.columns(표준INFORMATION_SCHEMA.TABLES/COLUMNS도 가능). - PostgreSQL —
pg_tables·information_schema.columns. psql에서는\dt·\d 테이블.
사용 방법
- DB와 검색 유형을 고릅니다.
- 키워드(또는 테이블명)를 입력하면 즉시 쿼리가 생성됩니다.
- 복사해 실행하면 결과를 얻습니다.
주의점
- Oracle은 큰따옴표로 만든 소문자 객체가 아니라면 이름이 대문자입니다. 검색 시 대소문자를 맞추세요.
- 대량 스키마에서
LIKE '%키워드%'는 인덱스를 못 타 느릴 수 있습니다. 앞부분 검색LIKE '키워드%'가 빠릅니다.
자주 묻는 질문
테이블 목록을 보는 가장 빠른 방법은?
MySQL은 SHOW TABLES;, PostgreSQL은 psql에서 \dt, SQL Server는 SELECT name FROM sys.tables;, Oracle은 SELECT table_name FROM user_tables; 가 가장 간단합니다.
특정 컬럼명을 쓰는 테이블을 모두 찾으려면?
MySQL/PostgreSQL은 information_schema.columns에서 column_name LIKE 검색, SQL Server는 sys.columns, Oracle은 all_tab_columns를 조회하면 됩니다. 이 도구의 "컬럼명으로 찾기"가 각 쿼리를 생성합니다.
오라클에서 테이블이 안 찾아져요.
오라클은 객체명을 대문자로 저장합니다. WHERE table_name = 'users' 대신 'USERS'로 쓰거나 UPPER(table_name) LIKE UPPER(...)를 사용하세요.
컬럼 상세(타입·NULL 여부)도 볼 수 있나요?
네. "특정 테이블의 컬럼 목록"을 선택하면 데이터 타입·NULL 허용 여부까지 조회하는 쿼리(또는 DESC/SHOW COLUMNS/sp_help)를 생성합니다.