다음을 통해 공유


테이블 만들기(데이터베이스 엔진)

적용 대상: SQL Server 2016(13.x) 이상 Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

SSMS(SQL Server Management Studio) 또는 Transact-SQL의 테이블 디자이너를 사용하여 새 테이블을 만들고 이름을 지정하고 기존 데이터베이스에 추가할 수 있습니다.

사용 권한

이 작업을 수행하려면 데이터베이스에는 CREATE TABLE 권한이 필요하고 테이블을 만들 구성표에는 ALTER 권한이 필요합니다.

CREATE TABLE 문에 있는 열을 CLR 사용자 정의 형식으로 정의하는 경우 해당 유형의 소유권이나 이에 대한 REFERENCES 권한이 필요합니다.

CREATE TABLE 문의 열에 연관된 XML 스키마 컬렉션이 있는 경우 XML 스키마 컬렉션의 소유권이나 이에 대한 REFERENCES 권한이 필요합니다.

SQL Server Management Studio에서 테이블 디자이너 사용

  1. SSMS의 개체 탐색기에서 수정할 데이터베이스를 포함하는 데이터베이스 엔진 인스턴스에 연결합니다.

  2. 개체 탐색기에서 데이터베이스 노드를 확장한 후 새 테이블을 포함할 데이터베이스를 확장합니다.

  3. 개체 탐색기에서 데이터베이스의 테이블 노드를 마우스 오른쪽 단추로 클릭한 다음, 새 테이블을 선택합니다.

  4. 다음 그림과 같이 각 열에 대해 열 이름을 입력하고, 데이터 형식을 선택하고, null 허용 여부를 선택합니다.

    ModifiedDate 열에 대해 선택된 Null 허용 옵션을 보여 주는 스크린샷

  5. ID 또는 계산 열 값과 같은 열 속성을 더 많이 지정하려면 열을 선택하고 열 속성 탭에서 적절한 속성을 선택합니다. 열 속성에 대한 자세한 내용은 테이블 열 속성(SQL Server Management Studio)을 참조하세요.

  6. 열을 기본 키로 지정하려면 열을 마우스 오른쪽 단추로 클릭하고 기본 키 설정을 선택합니다. 자세한 내용은 Create Primary Keys을 참조하세요.

  7. 외래 키 관계를 만들려면 제약 조건 또는 인덱스를 확인하고 테이블 디자이너 창에서 마우스 오른쪽 단추로 클릭하고 다음 그림과 같이 목록에서 개체를 선택합니다.

    관계 옵션을 보여 주는 스크린샷

    이러한 개체에 대한 자세한 내용은 Create Foreign Key Relationships, Create Check ConstraintsIndexes를 참조하세요.

  8. 기본적으로 테이블은 dbo 스키마에 포함되어 있습니다. 테이블에 다른 스키마를 지정하려면 다음 그림과 같이 테이블 디자이너 창에서 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 스키마 드롭다운 목록에서 적절한 스키마를 선택합니다.

    스키마 옵션을 보여 주는 속성 창의 스크린샷

    스키마에 대한 자세한 내용은 Create a Database Schema를 참조하세요.

  9. 파일 메뉴에서 테이블 이름 저장을 선택합니다.

  10. 이름 선택 대화 상자에서 테이블 이름을 입력하고 확인을 선택합니다.

  11. 새 테이블을 보려면 개체 탐색기에서 테이블 노드를 확장하고 F5 를 눌러 개체 목록을 새로 고칩니다. 테이블 목록에 새 테이블이 표시됩니다.

Transact-SQL 사용

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    CREATE TABLE dbo.PurchaseOrderDetail (
        PurchaseOrderID INT NOT NULL,
        LineNumber SMALLINT NOT NULL,
        ProductID INT NULL,
        UnitPrice MONEY NULL,
        OrderQty SMALLINT NULL,
        ReceivedQty FLOAT NULL,
        RejectedQty FLOAT NULL,
        DueDate DATETIME NULL
    );
    

다음 단계