현재 위치 - 회사기업대전 - 기업 정보 조회 - 데이터베이스의 테이블 구조를 쿼리하는 방법은 무엇입니까? 예를 들어, 필드는 어떤 유형이고, 길이는 얼마이며, 제약 조건은 무엇입니까?

데이터베이스의 테이블 구조를 쿼리하는 방법은 무엇입니까? 예를 들어, 필드는 어떤 유형이고, 길이는 얼마이며, 제약 조건은 무엇입니까?

sql 명령을 사용하여 테이블 구조 보기

내장된 저장 프로시저 sp_MShelpcolumns를 사용할 수 있습니다.

예를 들어 쿼리 테이블 Table1의 구조는 다음과 같습니다.

sp_MShelpcolumns 'Tabel1'

메타데이터 소개

Metadata(metadata) 가장 일반적인 "데이터에 관한 구조화된 데이터" 또는 간단히 "데이터에 대한 정보"로 정의되는 범례, 도서관 카탈로그 카드, 일상생활의 명함 등은 모두 메타데이터로 간주될 수 있습니다. 관계형 데이터베이스 관리 시스템(DBMS)에서 메타데이터는 데이터의 구조와 의미를 설명합니다. 예를 들어, SQL Server를 관리 및 유지 관리하거나 데이터베이스 애플리케이션을 개발할 때 데이터베이스 아키텍처와 관련된 몇 가지 정보를 얻어야 하는 경우가 많습니다.

데이터베이스에 있는 테이블과 뷰의 수와 이름

테이블이나 뷰의 열 수와 각 열의 이름, 데이터 유형, 길이, 정밀도, 설명 등;

테이블에 정의된 제약 조건;

테이블에 정의된 인덱스 및 기본 키/외래 키 정보입니다.

아래에서는 메타데이터를 얻는 여러 가지 방법을 소개합니다.

메타데이터 가져오기

시스템 저장 프로시저 및 시스템 기능을 사용하여 메타데이터에 액세스

메타데이터를 얻는 가장 일반적인 방법은 SQL에서 제공하는 시스템 저장 프로시저를 사용하는 것입니다. 서버 및 시스템 기능.

시스템 저장 프로시저와 시스템 함수는 시스템 테이블과 메타데이터 사이에 추상화 계층을 제공하므로 시스템 테이블을 직접 쿼리하지 않고도 현재 데이터베이스 개체의 메타데이터를 얻을 수 있습니다.

메타데이터와 관련하여 일반적으로 사용되는 시스템 저장 프로시저에는 다음이 포함됩니다.

시스템 저장 프로시저 설명

sp_columns는 지정된 테이블 또는 뷰의 열에 대한 자세한 정보를 반환합니다. .

sp_databases는 현재 서버의 모든 데이터베이스에 대한 기본 정보를 반환합니다.

sp_fkeys 매개변수가 기본 키가 있는 테이블인 경우 해당 테이블을 가리키는 외래 키가 포함된 모든 테이블이 반환됩니다. 매개변수가 외래 키가 있는 테이블 이름인 경우 동일한 기본 키가 있는 모든 테이블이 반환됩니다. 키/외부 키가 반환됩니다. 이 외래 키와 연결된 모든 테이블에 대한 관계입니다.

sp_pkeys는 지정된 테이블의 기본 키 정보를 반환합니다.

sp_server_info는 현재 서버의 다양한 특성과 해당 값을 반환합니다.

sp_sproc_columns는 지정된 저장 프로시저의 입력 및 출력 매개변수에 대한 정보를 반환합니다.

sp_statistics는 지정된 테이블이나 인덱싱된 뷰에 대한 모든 인덱스 및 통계 정보를 반환합니다.

sp_stored_procedures는 시스템 저장 프로시저를 포함하여 현재 데이터베이스의 저장 프로시저 목록을 반환합니다.

sp_tables는 시스템 테이블을 포함하여 현재 데이터베이스의 모든 테이블과 뷰를 반환합니다.

메타데이터와 관련하여 일반적으로 사용되는 시스템 함수는 다음과 같습니다.

시스템 함수 설명

COLUMNPROPERTY는 허용 여부와 같은 열 또는 프로세스 매개변수에 대한 정보를 반환합니다. Null 값, 계산된 열인지 여부 등

COL_LENGTH는 읽기 전용 모드인지 여부 등 지정된 데이터베이스의 지정된 속성 값을 반환합니다.

DATABASEPROPERTYEX는 데이터베이스 상태, 복구 모델 등과 같은 지정된 데이터베이스에 대해 지정된 옵션 또는 속성의 현재 설정을 반환합니다.

OBJECT_ID는 지정된 데이터베이스 개체 이름의 식별 번호를 반환합니다.

OBJECT_NAME은 지정된 데이터베이스 개체 식별 번호의 개체 이름을 반환합니다.

OBJECTPROPERTY는 테이블인지, 제약조건인지 등 지정된 데이터베이스 개체의 식별 번호에 대한 정보를 반환합니다.

fn_listextendedproperty는 객체 설명, 형식 규칙, 입력 마스크 등과 같은 데이터베이스 객체의 확장 속성 값을 반환합니다.

저장 프로시저와 함수의 반환 결과를 직접 사용할 수 없기 때문에 쿼리 결과에만 관심이 있고 이러한 결과를 더 이상 사용할 필요가 없는 경우에만 시스템 저장 프로시저와 시스템을 사용하게 됩니다. 메타데이터를 쿼리하는 함수입니다.

예를 들어 현재 서버의 모든 데이터베이스에 대한 기본 정보를 얻으려면 쿼리 분석기에서 이를 실행할 수 있습니다.

EXEC sp_databases

GO

반환된 결과에서 데이터베이스의 이름, 크기, 설명 및 기타 정보를 볼 수 있습니다.

SQL Server에는 많은 시스템 테이블이 있으며, 그 중 메타데이터 쿼리와 관련하여 가장 일반적으로 사용되는 테이블은 다음과 같습니다.

시스템 테이블 설명

syscolumns는 각 정보를 저장합니다. 테이블과 뷰의 모든 열과 저장 프로시저의 모든 매개변수에 대한 정보입니다.

syscomments는 각 뷰, 규칙, 기본값, 트리거, CHECK 제약 조건, DEFAULT 제약 조건 및 저장 프로시저를 포함하는 원시 SQL 텍스트 문을 저장합니다.

sysconstraints는 현재 데이터베이스의 각 제약 조건에 대한 기본 정보를 저장합니다.

sysdatabases는 현재 서버의 각 데이터베이스에 대한 기본 정보를 저장합니다.

sysindexes는 현재 데이터베이스의 각 인덱스에 대한 정보를 저장합니다.

sysobjects는 데이터베이스의 각 개체에 대한 기본 정보(제약 조건, 기본값, 로그, 규칙, 저장 프로시저 등)를 저장합니다.

sysreferences는 FOREIGN KEY 제약 조건을 포함하는 모든 열을 저장합니다.

systypes는 시스템에서 제공하는 각 데이터 유형 및 사용자 정의 데이터 유형에 대한 세부 정보를 저장합니다.

시스템 저장 프로시저, 시스템 기능, 정보 아키텍처 뷰 및 시스템 테이블을 함께 사용하면 필요한 모든 메타데이터 정보를 쉽게 얻을 수 있습니다.

copyright 2024회사기업대전