>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 열 정보, 데이터 유형 및 기본 키를 검색하는 방법은 무엇입니까?

SQL Server에서 열 정보, 데이터 유형 및 기본 키를 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-31 17:40:14639검색

How to Retrieve Column Information, Data Types, and Primary Keys in SQL Server?

SQL Server에서 열 정보, 데이터 유형, Null 제약 조건 및 기본 키 가져오기

SQL Server에서 다음에 대한 자세한 정보를 검색할 수 있습니다. 데이터 유형, 길이, Null 허용 여부 및 기본 키인지 여부를 포함하여 특정 테이블의 열입니다. 이를 달성하는 방법은 다음과 같습니다.

  1. 필요한 열 선택:
    다음 열을 선택하여 쿼리를 시작합니다.

    • 열 이름: c.name을 사용하여 열 이름을 가져옵니다.
    • 데이터 유형: 사용 t.name을 사용하여 열의 데이터 유형을 검색합니다.
    • 길이: 길이가 정의된 문자열 및 기타 데이터 유형의 경우 c.max_length를 사용합니다.
    • 정밀도 및 배율: 숫자 데이터 유형의 경우 , c.precision 및 c.scale을 포함합니다.
    • Nullable 상태: c.is_nullable을 사용하여 열이 null을 허용하는지 확인합니다. value.
  2. 필요한 테이블 조인:
    sys.columns 테이블(c로 별칭)을 sys.types 테이블(t로 별칭) 기반으로 조인합니다. 열별 검색을 위해 user_type_id에 대해
  3. 기본 키 제약 조건 확인:
    선택적으로 sys.index_columns(ic) 및 sys.indexes(i) 테이블과 조인하여 기본 키 제약 조건을 확인할 수 있습니다. . 열에 is_primary_key가 1로 설정된 인덱스가 있으면 기본 키입니다. 열이 기본 키가 아닌 경우를 처리하려면 ISNULL(i.is_primary_key, 0)을 사용하세요.
  4. 테이블 이름으로 필터링:
    WHERE c.object_id = OBJECT_ID(' YourTableName')을 사용하여 특정 테이블에 대한 결과를 필터링하고 'YourTableName'을 실제 테이블로 바꿉니다. name.
  5. 테이블 이름 바꾸기:
    스키마의 경우 'YourTableName'을 'YourSchemaName.YourTableName'으로 바꾸세요.

예 쿼리:

SELECT 
    c.name AS 'Column Name',
    t.Name AS 'Data type',
    c.max_length AS 'Max Length',
    c.precision,
    c.scale,
    c.is_nullable AS 'Null?',
    ISNULL(i.is_primary_key, 0) AS 'Primary Key'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')

출력:

쿼리는 다음 정보가 포함된 테이블을 반환합니다.

Column Name Data type Max Length Null? Primary Key

위 내용은 SQL Server에서 열 정보, 데이터 유형 및 기본 키를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.