웹사이트 검색

SQL 테이블 생성


관계형 데이터베이스에 데이터를 저장해야 하는 경우 첫 번째 부분은 데이터베이스를 만드는 것입니다. 다음 단계는 데이터를 저장할 데이터베이스에 테이블을 만드는 것입니다. 이 자습서에서는 MySQL 및 PostgreSQL 데이터베이스에서 SQL 쿼리를 사용하여 테이블을 만드는 방법에 대해 설명합니다.

PostgreSQL 쿼리와 유사하기 때문에 SQL Server 생성 테이블 예제는 다루지 않습니다.

SQL 테이블 생성

테이블에 데이터를 저장하려면 저장해야 하는 데이터 유형을 이해하는 것이 매우 중요합니다. 테이블 생성 구문을 이해해 봅시다.

SQL 테이블 생성 구문

CREATE TABLE table_name( column1 datatype, column2 datatype,... column-N datatype, PRIMARY KEY(one or more column) );

  • CREATE TABLE은 데이터베이스에 테이블을 생성하도록 지시하는 키워드입니다.
  • table_name은 테이블에 사용되는 고유한 이름입니다.
  • 테이블 이름 옆에 있는 괄호는 열 목록을 포함합니다.
  • 목록에는 각 열에 저장할 수 있는 열 이름과 데이터 유형이 포함됩니다.
  • PRIMARY KEY는 기본 키로 사용할 열을 지정하는 데 사용됩니다.

SQL 하나의 열 기본 키로 테이블 만들기

테이블을 생성할 때 컬럼 구조와 함께 기본 키 정보를 제공해야 합니다. 단일 열을 기본 키로 사용하여 테이블을 만드는 몇 가지 예를 살펴보겠습니다.

MySQL

CREATE TABLE `test`.`student` (
`studentId` INT NOT NULL,
`studentName` VARCHAR(45) NULL,
`State` VARCHAR(45) NULL,
`Country` VARCHAR(45) NULL,
PRIMARY KEY (`studentId`),
UNIQUE INDEX `studentId_UNIQUE` (`studentId` ASC) VISIBLE);

위 쿼리는 기본 키 열이 "studentId\인 새 테이블 "Student\를 생성합니다. 모든 열 이름에는 정의된 데이터 유형이 있습니다. 예를 들어 studentId 열에는 INT 데이터만 저장할 수 있는 반면 studentName 열에는 VARCHAR 데이터를 저장할 수 있습니다. VARCHAR(45)는 허용되는 문자열 데이터의 최대 크기가 45자임을 의미합니다. 기본 키는 null일 수 없으므로 studentId 열 정의에 지정합니다.

PostgreSQL

다음 쿼리를 사용하여 PostgreSQL 데이터베이스에 테이블을 만들 수 있습니다.

CREATE TABLE "test.student"(
"StudentId" integer NOT NULL,
"StudentName" character varying(45),
"State" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("StudentId")
);

여러 기본 키가 있는 SQL 생성 테이블

기본 키에서 여러 열을 사용하는 또 다른 예를 살펴보겠습니다.

MySQL

CREATE TABLE `test`.`customer` (
  `CustomerId` INT NOT NULL,
  `CustomerName` VARCHAR(45) NULL,
  `ProductId` VARCHAR(45) NOT NULL,
  `State` VARCHAR(45) NULL,
PRIMARY KEY (`CustomerId`, `ProductId`),
UNIQUE INDEX `CustomrId_UNIQUE` (`CustomerId` ASC) VISIBLE);

위 쿼리는 "test\ 데이터베이스 스키마에 "customer\ 테이블을 생성합니다. 이 테이블의 기본 키는 CustomerId와 ProductId의 조합입니다.

PostgreSQL

CREATE TABLE "test.customer"(
"CustomerId" integer NOT NULL,
"CustomerName" character varying(45),
"ProductId" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("CustomerId","ProductId")
);