SQL-빠른 팁 #6 - 테이블 또는 열 찾기

3512 단어 tsqlmssqlsqlsqlserver

SQL Server 팁과 요령



이것은 제가 1년 동안 축적한 일련의 빠른 팁과 요령 중 일부이며 다른 사람들에게 유용할 수 있다고 생각합니다.
비슷한 짧은 팁과 요령이 있으면 의견을 남겨주세요.

이름으로 테이블 찾기



엄청난 수의 테이블이 있는 대규모 데이터베이스에서 작업한 적이 있고 아직 전체 데이터 모델에 익숙하지 않은 경우 찾고 있는 특정 테이블을 찾는 것이 얼마나 어려운지 알 것입니다. 또는 작업 중인 PowerPoint 프레젠테이션에 넣을 유사한 이름을 가진 테이블 목록을 가져와야 할 수도 있습니다.
그러면 다음 쿼리가 유용할 수 있습니다.

SELECT *
  FROM sys.tables
 WHERE name LIKE '%partOfTableName%'




특정 열이 있는 테이블 찾기



한동안 프로그래머였고 다른 고객을 위해 다른 프로젝트에서 작업한 경우 외래 키 제약 조건이 거의 없거나 전혀 없는 여러 데이터베이스가 있을 수 있습니다. 외래 키 제약 조건이 없는 데에는 여러 가지 이유가 있을 수 있으며 여기서는 이에 대해 다루지 않겠습니다. 하지만 제약 조건이 없으면 다른 테이블과 관련된 테이블을 찾기가 어려워지므로 관련 항목을 찾는 다른 방법이 필요합니다. 테이블을 구현한 사람이 동일한 이름 또는 유사한 이름으로 테이블과 관련된 열의 이름을 지정하기를 바랍니다. 이 경우 모든 데이터베이스 테이블을 쿼리하여 특정 이름을 가진 열이 포함된 모든 테이블을 찾을 수 있습니다. 아래 쿼리가 그렇게 합니다.

USE Northwind

DECLARE @searchText VARCHAR(200) = 'address'

 SELECT SCHEMA_NAME(schema_id) + '.' + t.name AS [Table name],
        c.name AS [Column name]
   FROM sys.tables AS t
   JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
  WHERE c.name LIKE '%'+ @searchText +'%'
  ORDER BY [Table name];


좋은 웹페이지 즐겨찾기