본문 바로가기

데이터/MySQL

[MySQL] CREATE TABLE 문

CREATE TABLE 문

MySQL에서 테이블을 생성하기 위해서는 `CREATE TABLE` 문을 사용합니다. 이 명령어는 테이블의 이름과 각 열의 이름, 데이터 유형 및 제약 조건을 지정합니다.

 

CREATE TABLE 문의 기본 구조

CREATE TABLE [IF NOT EXISTS] table_name (
    column1 datatype [NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT],
    column2 datatype [NOT NULL] [DEFAULT default_value],
    ...
    PRIMARY KEY (one_or_more_columns),
    UNIQUE (one_or_more_columns),
    FOREIGN KEY (column_name) REFERENCES other_table(other_column),
    ...
);

 

- `IF NOT EXISTS` : 테이블이 이미 존재하는 경우 오류를 방지하고 SQL을 무시합니다.

- `table_name` : 생성할 테이블의 이름을 지정합니다.

- `column1, column2, ...` : 테이블의 열을 정의합니다.

- `datatype` : 해당 열의 데이터 유형을 지정합니다.

- `NOT NULL` : 해당 열이 NULL 값을 허용하지 않도록 지정합니다.

- `DEFAULT default_value` : 해당 열에 기본값을 지정합니다.

- `AUTO_INCREMENT` : 해당 열에 자동 증가 값을 지정합니다.

- `PRIMARY KEY` : 기본 키를 정의합니다.

- `UNIQUE` : 고유성을 갖는 제약 조건을 정의합니다.

- `FOREIGN KEY` : 외래 키를 정의하고 참조할 테이블과 열을 지정합니다.

 

CREATE TABLE 문 예제

-- 사용자 테이블 생성
CREATE TABLE IF NOT EXISTS users (
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    birth_date DATE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 주문 테이블 생성
CREATE TABLE IF NOT EXISTS orders (
    order_id INT PRIMARY KEY AUTO_INCREMENT,
    order_date DATE NOT NULL,
    total_amount DECIMAL(10, 2) NOT NULL,
    user_id INT,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

 

위의 예제에서는 두 개의 테이블을 생성하는 SQL 문을 보여줍니다. `users` 테이블은 사용자 정보를 저장하고, `orders` 테이블은 주문 정보를 저장합니다. 테이블 간에는 외래 키 관계가 설정되어 있습니다.

'데이터 > MySQL' 카테고리의 다른 글

[MySQL] FOREIGN KEY  (0) 2023.12.06
[MySQL] PRIMARY KEY  (1) 2023.12.06
[MySQL] AUTO INCREMENT  (1) 2023.12.06
[MySQL] CHECK 제약조건  (0) 2023.12.06
[MySQL] NOT NULL 제약조건  (1) 2023.12.06