본문 바로가기
MySQL MariaDB/SQL 문법

MariaDB의 CREATE TABLE 문법 이해와 사용법

by 쑤- IT, MySQL, MariaDB, DBeaver 2024. 11. 18.

MariaDB의 CREATE TABLE 명령은 새로운 테이블을 생성하는 데 사용되며, SQL 문법에 따라 다양한 옵션과 설정을 지원합니다. 이 글에서는 주요 문법과 옵션을 간단히 정리하여 MariaDB의 CREATE TABLE 문법에 대한 이해를 돕습니다.

MariaDB의 CREATE TABLE 문법 이해와 사용법

목차


    1. CREATE TABLE 기본 문법

    
    CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] table_name (
        column_definition,
        ...
    ) [table_options] [partition_options];
    
    • OR REPLACE: 동일한 이름의 테이블이 있을 경우 기존 테이블을 삭제하고 새로운 테이블을 생성합니다.
    • TEMPORARY: 세션 종료 시 자동으로 삭제되는 임시 테이블을 생성합니다.
    • IF NOT EXISTS: 테이블이 이미 존재하는 경우 오류 대신 경고를 출력합니다.

    2. 주요 컬럼 옵션

    • NULL 및 NOT NULL: 해당 컬럼이 NULL 값을 허용할지 설정.
    • DEFAULT: 컬럼의 기본값 설정.
    • AUTO_INCREMENT: 자동으로 숫자를 증가시키는 컬럼 생성.
    • PRIMARY KEY 및 UNIQUE KEY: 기본 키 또는 고유 키 설정.
    • COMMENT: 컬럼에 대한 설명 추가.

    3. 테이블 옵션

    MariaDB는 테이블 수준에서 여러 옵션을 제공하며, 주요 항목은 다음과 같습니다.

    • ENGINE: 테이블 저장 엔진 설정 (기본값: InnoDB).
    • CHARACTER SET/CHARSET: 테이블의 기본 문자 세트 지정.
    • AUTO_INCREMENT: AUTO_INCREMENT의 시작값 지정.
    • ROW_FORMAT: 테이블의 행 저장 형식 설정.

    4. 파티션 옵션

    MariaDB는 테이블의 데이터를 여러 파티션으로 나누는 기능을 제공합니다.

    • PARTITION BY: 해시, 범위, 키 기반으로 데이터 분할.
    • LINEAR HASH 및 KEY: 데이터를 더 균등하게 분배.

    5. CREATE TABLE 활용 사례 기본 테이블 생성

    
    CREATE TABLE IF NOT EXISTS users (
        id BIGINT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255) NOT NULL,
        created_at DATETIME DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB;
    

    기존 테이블 복사

    
    CREATE TABLE new_table LIKE old_table;
    

    데이터 선택을 기반으로 테이블 생성

    
    CREATE TABLE selected_data AS
    SELECT id, name FROM users WHERE id > 100;
    

    6. 유의점

    1. 컬럼 이름데이터 타입은 정확히 지정해야 합니다.
    2. IF NOT EXISTS 옵션으로 오류를 방지할 수 있습니다.
    3. 임시 테이블은 세션 간 공유되지 않으며, 종료 시 자동 삭제됩니다.

    댓글