Oracle Database 강좌/2. SQL 기본 문법

데이터 정의 언어 (DDL): CREATE TABLE, ALTER TABLE, DROP TABLE 등

_Blue_Sky_ 2024. 10. 7. 11:19
728x90
728x90

 

데이터베이스를 설계하고 관리하는 데 있어 가장 기본이 되는 언어가 바로 데이터 정의 언어(DDL: Data Definition Language)입니다. DDL은 데이터베이스의 구조를 정의하고 변경하는 데 사용되는 명령어들의 집합으로, 데이터베이스의 설계도를 작성하는 것과 같습니다. 본 글에서는 DDL의 핵심 명령어인 CREATE TABLE, ALTER TABLE, DROP TABLE을 중심으로 자세히 알아보고, 이를 통해 데이터베이스 설계의 기본 원리를 이해하고자 합니다.

DDL이란 무엇인가?

DDL은 데이터베이스 시스템에서 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성, 수정, 삭제하는 데 사용되는 언어입니다. DDL 명령어는 데이터베이스의 스키마를 정의하며, 데이터베이스 시스템이 데이터를 저장하고 관리하는 방법을 결정합니다.

DDL의 주요 기능:

  • 테이블 생성: CREATE TABLE 명령어를 사용하여 새로운 테이블을 생성하고, 테이블의 이름, 컬럼, 데이터 타입, 제약 조건 등을 정의합니다.
  • 테이블 수정: ALTER TABLE 명령어를 사용하여 기존 테이블의 구조를 변경합니다. 컬럼 추가, 삭제, 데이터 타입 변경, 제약 조건 추가/삭제 등이 가능합니다.
  • 테이블 삭제: DROP TABLE 명령어를 사용하여 더 이상 필요 없는 테이블을 삭제합니다.
  • 뷰 생성: CREATE VIEW 명령어를 사용하여 기존 테이블의 데이터를 기반으로 가상의 테이블을 생성합니다.
  • 인덱스 생성: CREATE INDEX 명령어를 사용하여 테이블의 특정 컬럼에 대한 인덱스를 생성하여 데이터 검색 성능을 향상시킵니다.
728x90

CREATE TABLE 명령어

CREATE TABLE 명령어는 새로운 테이블을 생성하는 데 사용됩니다. 테이블은 데이터를 저장하는 기본적인 단위이며, 행(row)과 열(column)로 구성됩니다.

CREATE TABLE 테이블명 (
    컬럼명1 데이터타입 제약조건,
    컬럼명2 데이터타입 제약조건,
    ...
);
 
  • 테이블명: 생성할 테이블의 이름을 지정합니다.
  • 컬럼명: 각 컬럼의 이름을 지정합니다.
  • 데이터타입: 각 컬럼에 저장될 데이터의 종류를 지정합니다. (예: INT, VARCHAR, DATE 등)
  • 제약조건: 컬럼에 대한 제약 조건을 지정합니다. (예: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY 등)

예시:

CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    city VARCHAR(50)
);
 

위 예시는 customers라는 이름의 테이블을 생성하며, customer_id는 기본키(PRIMARY KEY), first_name과 last_name은 필수 입력(NOT NULL), email은 중복되지 않는 값(UNIQUE)으로 설정합니다.

ALTER TABLE 명령어

ALTER TABLE 명령어는 기존 테이블의 구조를 변경하는 데 사용됩니다. 컬럼 추가, 삭제, 데이터 타입 변경, 제약 조건 추가/삭제 등 다양한 작업이 가능합니다.

ALTER TABLE 테이블명
    추가할 컬럼,
    수정할 컬럼,
    삭제할 컬럼;
 

예시:

  • 컬럼 추가:
    ALTER TABLE customers ADD phone_number VARCHAR(20);
    
     
  • 컬럼 삭제:
    ALTER TABLE customers DROP COLUMN city;
    
     
  • 데이터 타입 변경:
    ALTER TABLE customers MODIFY first_name VARCHAR(100);
    
     

DROP TABLE 명령어

DROP TABLE 명령어는 더 이상 필요 없는 테이블을 삭제하는 데 사용됩니다. 테이블을 삭제하면 테이블에 저장된 모든 데이터가 함께 삭제됩니다.

DROP TABLE 테이블명;
 

예시:

DROP TABLE customers;
 

결론

DDL은 데이터베이스를 설계하고 관리하는 데 필수적인 언어입니다. CREATE TABLE, ALTER TABLE, DROP TABLE 명령어를 통해 데이터베이스의 구조를 정의하고 변경할 수 있습니다. DDL을 효과적으로 활용하여 데이터베이스를 설계하고 관리하면 데이터를 안전하게 저장하고 효율적으로 관리할 수 있습니다.

 

728x90
728x90