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 |