코딩 스쿨 MySQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

MySQL Create Table

MySQL CREATE TABLE: 테이블 생성하기

CREATE TABLE 문은 MySQL에서 새로운 테이블을 생성하는 데 사용되는 SQL 명령어입니다. 테이블은 데이터베이스의 기본 단위로, 데이터를 행과 열의 형태로 저장합니다. 이 가이드는 MySQL에서 테이블을 생성하는 방법, 기본 문법 및 예제를 설명합니다.


1. 기본 개념

1.1. 정의

CREATE TABLE 문은 지정된 이름으로 새로운 테이블을 생성하고, 각 열의 데이터 타입 및 제약 조건을 정의합니다.

1.2. 기본 문법

CREATE TABLE table_name (
    column1 datatype [constraint],
    column2 datatype [constraint],
    ...
);

  • table_name: 생성할 테이블의 이름
  • column1, column2, ...: 테이블에 포함될 열의 이름
  • datatype: 열의 데이터 타입 (예: INT, VARCHAR, DATE 등)
  • constraint: 선택적 제약 조건 (예: PRIMARY KEY, NOT NULL, UNIQUE 등)

2. CREATE TABLE 사용 예제

2.1. 기본 테이블 생성

가장 간단한 형태로 테이블을 생성하는 예제입니다.

CREATE TABLE users (
    id INT AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);

이 쿼리는 users라는 이름의 테이블을 생성하며, 다음과 같은 열을 포함합니다:

  • id: 정수형, 자동 증가, 기본 키
  • username: 최대 50자의 문자열, NULL 불허
  • email: 최대 100자의 문자열, NULL 불허
  • created_at: TIMESTAMP형, 기본값으로 현재 시간을 사용

2.2. 여러 제약 조건 사용하기

제약 조건을 활용하여 더 복잡한 테이블 구조를 정의할 수 있습니다.

CREATE TABLE products (
    product_id INT AUTO_INCREMENT,
    product_name VARCHAR(100) NOT NULL,
    price DECIMAL(10, 2) NOT NULL CHECK (price >= 0),
    quantity INT DEFAULT 0,
    PRIMARY KEY (product_id),
    UNIQUE (product_name)
);

이 쿼리는 products라는 이름의 테이블을 생성하며, 다음과 같은 열을 포함합니다:

  • product_id: 정수형, 자동 증가, 기본 키
  • product_name: 최대 100자의 문자열, NULL 불허, 고유 값
  • price: 10자리 숫자(소수점 2자리 포함), NULL 불허, 0 이상이어야 함
  • quantity: 정수형, 기본값 0

3. CREATE TABLE의 고급 기능

3.1. 외래 키 제약 조건

외래 키는 다른 테이블과의 관계를 정의하는 데 사용됩니다.

CREATE TABLE orders (
    order_id INT AUTO_INCREMENT,
    user_id INT,
    order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (order_id),
    FOREIGN KEY (user_id) REFERENCES users(id)
);

이 쿼리는 orders라는 이름의 테이블을 생성하며, user_idusers 테이블의 id와 연관되어 있음을 나타냅니다.

3.2. 기본값 설정

열의 기본값을 설정하여 데이터 삽입 시 기본적으로 사용될 값을 지정할 수 있습니다.

CREATE TABLE settings (
    setting_name VARCHAR(100) NOT NULL,
    setting_value VARCHAR(100) DEFAULT 'default_value'
);

이 쿼리는 settings라는 이름의 테이블을 생성하며, setting_value의 기본값을 'default_value'로 설정합니다.


4. 테이블 생성 후 확인

테이블을 생성한 후, 데이터베이스 내의 모든 테이블 목록을 확인하려면 다음 쿼리를 사용할 수 있습니다.

SHOW TABLES;

이 쿼리는 현재 데이터베이스에 있는 모든 테이블의 목록을 반환합니다.


5. 테이블 삭제

생성한 테이블을 삭제하려면 DROP TABLE 문을 사용합니다.

예제

DROP TABLE users;

이 쿼리는 users 테이블을 삭제하며, 이 작업은 영구적입니다.


6. 요약

MySQL CREATE TABLE 문은 새로운 테이블을 생성하고, 각 열의 데이터 타입 및 제약 조건을 설정하는 데 사용됩니다. 이를 통해 데이터베이스의 구조를 정의하고 데이터를 저장하는 데 필수적인 역할을 합니다.

  • 정의: 새로운 테이블 생성.
  • 기본 문법: CREATE TABLE table_name (column1 datatype, ...);
  • 제약 조건: 데이터 무결성을 유지하기 위한 다양한 제약 조건 사용 가능.
  • 외래 키: 다른 테이블과의 관계를 정의.
  • 기본값 설정: 열에 기본값 지정 가능.

MySQL의 CREATE TABLE 기능을 활용하여 효율적으로 데이터베이스 구조를 설계하고 관리할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com