MSSQL에서 DB목록, Table목록, 그리고 각 Table의 상세 칼럼 정보를
얻기 위해서는 아래 제시된 쿼리문을 이용해 가능하다.
select * from sys.sysdatabases
select * from sys.tables
select * from sys.syscolumns
select * from sys.systypes
위 쿼리를 바탕으로 필요한 테이블 상세 정보만 얻어오는 쿼리 조합문.
select
a.name as table_name,
b.name as column_name,
c.name as data_type,
c.length as data_length
from sys.tables a
inner join sys.syscolumns b on a.object_id=b.id
inner join sys.systypes c on c.xtype=b.xtype
where a.name = 'tb_users' --테이블이름
order by table_name
이 쿼리문은 위에 제시된 거와 달리 단지 . 뒤에 sys가 빠졌다는 것 뿐인데 뭐가 다른지 모르겠다.
지금 알 필요는 없지만 무시하기는 아까워 첨부~*
select * from sys.databases
select * from sys.columns
select * from sys.types
아래 쿼리는 쓰고 있던 방법...
Database 목록을 얻어오는 방법
select * from sys.sysdatabases where HAS_DBACCESS(name) = 1
Table 목록을 얻어오는 방법
select * from sys.sysobjects where xtype='U' order by name asc
DBCC SHOW_STATISTICS ('UBCare_BasicInfo', KIMSCode);
GO
'SQL' 카테고리의 다른 글
[MSSQL][구문] 테이블 형식 남기고 데이터만 삭제. (0) | 2012.09.05 |
---|---|
[MSSQL] Primary Key, Unique Key, Clustered Index, NonClustered Index의 차이 (0) | 2012.09.03 |
[MSSQL] 인덱스 통계보기 (0) | 2012.08.30 |
[MSSQL] sa계정 비밀번호 변경 (0) | 2012.08.16 |
[MSSQL] 년의 처음 , 마지막 날 (0) | 2012.07.16 |