MS-SQL은 SSMS를 워낙 잘 만들어놔서 GUI로 보는게 편하긴 하다.
그래도 가끔 동적쿼리를 만들거나 할 때, 테이블 이름이나 컬럼 이름이 필요한 경우가 있는데 이럴때 쓰는 쿼리를 소개한다.
--데이터베이스 이름 조회
SELECT NAME FROM SYS.DATABASES WHERE NAME NOT IN('MASTER', 'MODEL', 'MSDB', 'TEMPDB')
--테이블리스트 조회(현재 접속된 데이터베이스)
SELECT NAME, OBJECT_ID FROM SYS.TABLES WHERE NAME = '테이블명'
--컬럼 리스트 조회
SELECT A.NAME [컬럼명], TYPE_NAME(A.system_type_id) [컬럼타입], A.MAX_LENGTH [컬럼크기]
FROM SYS.COLUMNS A
LEFT JOIN SYS.TABLES B ON A.OBJECT_ID = B.OBJECT_ID
WHERE B.NAME = '테이블명'
여기에서 사용되는 주요 테이블은 다음과 같다.
sys.databases 에서 현재 시스템의 데이터베이스를 검색.
sys.tables 에서 현재 데이터베이스의 테이블 검색.
sys.columns 에서 현재 테이블의 칼럼 검색.
TYPE\_NAME(type\_id)를 이용하여 타입명 보기 쉽게 변경함.
반응형
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
프로시저 내용 전체 검색하는 방법 (0) | 2021.04.17 |
---|---|
SSMS에서는 빠른데 적용하면 느릴경우 (0) | 2021.04.16 |
서버의 CPU 사용률 확인하는 쿼리 (0) | 2021.04.15 |
현재 실행중인 프로시저 이름 가져오기 (로그 기록할때 유용하다) (0) | 2021.04.14 |
모든 테이블 중 특정하여 자료 검색하기 (0) | 2016.02.29 |