English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL 테이블 생성 CREATE TABLE

이 튜토리얼에서는 SQL을 사용하여 데이터베이스 내부에 테이블을 생성하는 방법을 배울 것입니다.

테이블 구축

이전 장에서 데이터베이스 서버에서 데이터베이스를 생성하는 방법을 배웠습니다. 지금은 데이터를 저장할 테이블을 데이터베이스에 생성할 때가 되었습니다. 데이터베이스 테이블은 정보를 행과 열로 조직합니다.

SQL CREATE TABLE 문은 테이블을 생성하는 데 사용됩니다.

문법

테이블을 생성하는 기본 문법은 다음과 같이 제공할 수 있습니다:

CREATE TABLE table_name (column1_name data_type constraints,column2_name data_type constraints,...
);

이 문법을 쉽게 이해하기 위해 다음과 같이 해보겠습니다:演示데이터베이스에 테이블을 생성하려면 MySQL 명령줄 도구에서 다음 명령어를 입력한 후 Enter 키를 누르세요:

-- MySQL 데이터베이스의 문법
CREATE TABLE persons (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);
-- SQL Server 데이터베이스의 문법
CREATE TABLE persons (
    id INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);

위의 문장을 사용하여 이름이person의 테이블, 이 테이블은 다음과 같은ID이름birth_datephone네 열.

일부데이터 타입length 파라미터를 사용하여 선언할 수 있습니다. 이 파라미터는 열에 저장할 수 있는 문자 수를 지정합니다. 예를 들어, VARCHAR(50) 최대로 저장할 수 있습니다.5자리수.

참고:열의 데이터 타입은 데이터베이스 시스템에 따라 다를 수 있습니다. 예를 들어, MySQL과 SQL Server는 INT 정수 데이터 타입을 지원하며, Oracle 데이터베이스는 NUMBER 데이터 타입을 지원합니다.

다음 테이블은 MySQL이 지원하는 가장 일반적인 데이터 타입을 요약합니다.

데이터 타입설명
INT초기화-2147483648까지 저장됩니다.2147483647간의 수치
DECIMAL정확한 정밀도로 소수점 값을 저장합니다.
CHAR최대 길이가255자리수의 고정 길이 문자열을 저장합니다.
VARCHAR변수 길이의 문자열을 저장합니다. 최대 길이는65,535자리수로 저장됩니다.
TEXT최대 크기가65,535자리수의 문자열로 저장됩니다.
DATEYYYY로 시작-MM-DD 형식으로 날짜 값을 저장합니다.
DATETIMEYYYY로 시작-MM-DD HH:MM:SS 형식으로 결합된 날짜를 저장합니다./시간 값.
TIMESTAMP시간 스타mp를 저장합니다.TIMESTAMP값은 Unix 기원에서 저장됩니다.1970-01-01 00:00:01)에서의 초수.

참조 부분을 확인하세요SQL DB 데이터 타입،MySQL, SQL Server와 같은 인기 있는 RDBMS에서 사용할 수 있는 모든데이터 타입의 상세 정보.

이전 문장에서 테이블 열에 다른 제약 조건을 설정했습니다. (또는수식자)。제약 조건은 열에서 허용되는 값에 대한 규칙을 정의합니다。

  • NOT NULL 제약 조건은 해당 필드가 NULL 값을 받을 수 없도록 합니다.

  • PRIMARY KEY 제약 조건은 해당 필드가 테이블의 주키로 표시되도록 합니다.

  • AUTO_INCREMENT 속성은 MySQL의 표준 SQL 확장으로, MySQL이 값이 지정되지 않았을 경우 이전 값을 증가하여 값을 말합니다.1자동으로 값을 할당합니다. 수치 필드에만 적용됩니다.

  • UNIQUE 제약 조건이 하나의 열의 각 행이 유일한 값을 가져야 한다는 것을 보장합니다.

다음 장에서는SQL 제약 조건의更多信息。

참고: Microsoft SQL Server는 IDENTITY 속성을 사용하여 자동 증가 기능을 수행합니다. 기본 값은 IDENTITY(1,1),즉 시드나 시작 값이1좌표值为1。

ヒント:MySQL과 Oracle 데이터베이스에서 어떤 테이블의 열 정보나 구조를 확인할 수 있는 명령어를 실행할 수 있으며, SQL Server에서는(table_name실제 테이블 이름으로 대체)。DESC table_name;EXEC sp_columns table_name;

존재하지 않으면 테이블 생성

데이터베이스 내에 이미 존재하는 테이블을 생성하려고 시도하면 오류 메시지가 발생합니다. 이를 피하기 위해 MySQL에서 선택적인 문장 IF NOT EXISTS를 사용할 수 있습니다. 예를 들어:

CREATE TABLE IF NOT EXISTS persons (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);

ヒント:현재 선택된 데이터베이스 내 테이블 목록을 보려면SHOW TABLES;을 MySQL 명령 프롬프트에서 실행하세요。