2009-07-11 3 views

답변

8

스키마와 데이터베이스의 구조에 대한 모든 메타 데이터 정보를 원하시면,이 참고 표준보기를 검색, 나는 손 SQL이 없지만 쿼리는 일반적으로이

SELECT * FROM information_schema.columns WHERE is_nullable = 'YES' 

같은 것을 간다; 다른 많은 사람들이 있습니다 (information_schema.tables, information_schema.constraints 등)

+0

데이터베이스가 대소 문자를 구분하도록 설정되어있는 경우 문제가 발생하지 않도록하려면 아마도 is_nullable = '예'(대문자) 여야합니다. –

+0

첫 번째 것이 올바른 것입니다. – Juanma

+0

감사 ... 방금 편집했습니다. –

0

기본 테이블 (보기가 아님)의 열만보고 싶은 사용자는 INFORMATION_SCHEMA.TABLES과 결합해야합니다. 나는 또한 시스템 테이블 sysdiagrams을 제외하고 싶다. 당신이 스키마 또는 테이블 카탈로그에서 중복 된 테이블 이름이있는 경우 여기에 대한 답변과 같이

쿼리

SELECT 
    c.TABLE_NAME, 
    COLUMN_NAME, 
    DATA_TYPE 
FROM 
    INFORMATION_SCHEMA.COLUMNS AS c 
    JOIN INFORMATION_SCHEMA.TABLES AS t ON t.TABLE_NAME = c.TABLE_NAME 
WHERE 
    is_nullable = 'YES' AND 
    TABLE_TYPE = 'BASE TABLE' AND 
    c.TABLE_NAME != 'sysdiagrams' 
ORDER BY 
    c.TABLE_NAME, 
    COLUMN_NAME 

것은, 당신은 조인뿐만 아니라에서 해당 필드를 포함한다 :

Differentiating tables and views in INFORMATION_SCHEMA.COLUMNS.