> 데이터 베이스 > MySQL 튜토리얼 > SQL 쿼리를 사용하여 SQL Server에서 테이블의 기본 키를 찾는 방법은 무엇입니까?

SQL 쿼리를 사용하여 SQL Server에서 테이블의 기본 키를 찾는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-05 19:28:39
원래의
489명이 탐색했습니다.

How to Find a Table's Primary Key in SQL Server Using SQL Queries?

SQL Server에서 SQL 쿼리를 사용하여 테이블 기본 키 찾기

SQL Server에서 SQL 쿼리를 사용하여 테이블의 기본 키를 얻으려면 약간의 작업이 필요합니다. MySQL과 다른 접근 방식. 기본 키 정보를 검색하려면 다음 쿼리 옵션을 살펴보세요.

SQL Server 쿼리:

SQL Server에 일반적으로 사용되는 쿼리 중 하나는 다음과 같습니다.

SELECT name AS PrimaryKey
FROM sysobjects
WHERE xtype = 'PK' AND name IN (
    SELECT name 
    FROM sysindexes 
    WHERE id = object_id(TableName)
)
로그인 후 복사

TableName을 쿼리의 실제 테이블 이름으로 바꿉니다.

다른 SQL Server 쿼리:

SQL Server에 대한 대체 쿼리가 아래에 제공됩니다.

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1
AND TABLE_NAME = 'TableName' AND TABLE_SCHEMA = 'Schema'
로그인 후 복사

다시 TableName과 Schema를 적절한 값으로 대체합니다.

Universal MySQL 및 SQL Server에 대한 쿼리(권장하지 않음):

SQL Server에 대한 질문에 언급된 MySQL 쿼리와 직접적으로 동등한 것은 없지만 두 데이터베이스 시스템 모두에서 작동하는 더 복잡한 쿼리를 사용할 수 있습니다.

SELECT T.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS T
LEFT JOIN 
    (SELECT DISTINCT C.TABLE_NAME, C.COLUMN_NAME
    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS U
    JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS C
        ON U.TABLE_SCHEMA = C.TABLE_SCHEMA
        AND U.TABLE_NAME = C.TABLE_NAME
        AND U.CONSTRAINT_NAME = C.CONSTRAINT_NAME) AS S
    ON T.TABLE_NAME = S.TABLE_NAME AND T.COLUMN_NAME = S.COLUMN_NAME
WHERE T.TABLE_SCHEMA = 'TableName_Schema' AND T.TABLE_NAME = 'TableName'
로그인 후 복사

이 쿼리는 MySQL과 SQL Server 모두에서 작동할 수 있습니다. , 효율성이 떨어지므로 최적의 성능을 위해서는 권장되지 않습니다.

위 내용은 SQL 쿼리를 사용하여 SQL Server에서 테이블의 기본 키를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿