다음 예제에서는 AdventureWorks2012 데이터베이스에서 만든 테이블 PurchaseOrderDetail에 대한 모든 제약 조건 정의가 포함된 전체 테이블 정의를 보여 주었습니다. 샘플을 실행하려면 테이블 스키마가 dbo로 변경됩니다. [ type_schema_name. ] type_name은 열의 데이터 형식과 열이 속한 스키마를 지정합니다. 디스크 기반 테이블의 경우 데이터 형식은 클러스터되지 않은 columnstore 및 클러스터된 columnstore 인덱스를 모두 포함하여 columnstore 인덱스에만 적용됩니다. COLUMNSTORE_ARCHIVE는 테이블이나 파티션을 더 작은 크기로 더 많이 압축합니다. 보관 또는 더 작은 저장소 크기를 필요로 하고 저장 및 검색에 더 많은 시간을 할애할 수 있는 다른 경우에 사용할 수 있습니다. 테이블이 분할되지 않고 FILESTREAM_ON 절이 지정되지 않은 경우 기본 속성 집합이 있는 FILESTREAM 파일 그룹이 사용됩니다. FILESTREAM 파일 그룹이 없는 경우 오류가 발생합니다. 이 구문을 쉽게 이해하기 위해 데모 데이터베이스에 테이블을 만들어 보겠습니다. MySQL 명령줄 도구에 다음 문을 입력하고 enter 를 누릅니다: 이 쿼리는 Students라는 테이블을 만듭니다. ROLL_NO 필드는 int 형식이며 정수 크기 3을 저장할 수 있습니다. 다음 두 열 이름 및 SUBJECT 형식 varchar이며 문자를 저장할 수 있으며 크기 20은 이 두 필드에 최대 20개의 문자를 저장할 수 있도록 지정합니다.

예를 들어 테이블에 정수 열 a와 b가 있는 경우 계산된 열 a+b가 인덱싱될 수 있지만 계산된 열a+DATEPART(dd, GETDATE())는 후속 호출에서 값이 변경될 수 있으므로 인덱싱할 수 없습니다. 테이블에 인덱스를 만들도록 지정합니다. 클러스터된 인덱스 또는 클러스터되지 않은 인덱스일 수 있습니다. 인덱스에는 나열된 열이 포함되며 오름차순 또는 내림차순으로 데이터를 정렬합니다. 또는 테이블 삭제 명령을 사용할 수도 있습니다. 그러나 행 (데이터)만 삭제합니다. 테이블 구조는 그대로 유지됩니다. 이 명령은 나중에 사용할 수 있도록 테이블을 트렁킨다. 당신은 테이블이 SQL 서버에 의해 표시되는 메시지를보고 성공적으로 생성 되었는지 확인할 수 있습니다, 그렇지 않으면 다음과 같이 DESC 명령을 사용할 수 있습니다 – PRIMARY KEY를 통해 지정된 열이나 열에 대한 엔터티 무결성을 적용하는 제약 조건입니다. 고유 인덱스를 참조하십시오.

테이블당 하나의 기본 KEY 제약 조건만 만들 수 있습니다. 기본값은 값이 제공되지 않는 경우 (INSERT 및 UPDATE 문과 함께) 값을 제공합니다. 예를 들어 AdventureWorks2012 데이터베이스에는 직원이 회사에 채울 수 있는 다양한 작업을 나열하는 조회 테이블이 포함될 수 있습니다. 각 작업을 설명하는 열에서 실제 설명을 명시적으로 입력하지 않은 경우 문자 문자열 기본값에서 설명을 제공할 수 있습니다.