SQL 명령어(정의어, 조작어, 제어어)

SQL 명령어(정의어, 조작어, 제어어)

SQL 명령어(정의어, 조작어, 제어어) 확실히 알고 계신가요? 이번 글에서는 데이터 정의어, 데이터 조작어, 데이터 제어어가 각각 언제 사용되고 어떤 명령어 들이 있는 지 알아보겠습니다. 주요 명령어는 반드시 암기하세요.

데이터 정의어 (DDL: Data Definition Language)

데이터 정의어는 말 그대로 데이터베이스의 구조를 정의하는 명령어입니다. 데이터베이스를 처음 설계하거나, 테이블을 새로 만들 때 사용합니다.

DDL 주요 특징

  • 데이터베이스 객체(테이블, 뷰 등)를 생성하거나 수정, 삭제할 때 사용합니다.

  • 실행 즉시 데이터베이스에 반영됩니다.

  • 데이터를 다루기보다는 구조를 다룹니다.

DDL 주요 명령어

  1. CREATE: 새로운 데이터베이스 객체를 생성합니다.

    • 예: 학생 정보를 저장하는 테이블을 만들기

      CREATE TABLE students (
          id INT,
          name VARCHAR(50),
          age INT
      );
  2. ALTER: 기존의 테이블 구조를 수정합니다.

    • 예: 학생 테이블에 성별(gender) 컬럼 추가하기

      ALTER TABLE students ADD COLUMN gender CHAR(1);
  3. DROP: 데이터베이스 객체를 삭제합니다.

    • 예: 학생 테이블 삭제하기

      DROP TABLE students;
  4. TRUNCATE: 테이블의 모든 데이터를 삭제하지만, 테이블 구조는 유지합니다.

    • 예: 학생 테이블의 모든 데이터 삭제하기

      TRUNCATE TABLE students;

데이터 조작어 (DML: Data Manipulation Language)

데이터 조작어는 테이블에 저장된 데이터를 실제로 삽입, 수정, 삭제, 조회할 때 사용합니다. 쉽게 말해, 데이터를 다루는 데 사용되는 명령어입니다.

DML 주요 특징

  • 데이터를 추가하거나 수정, 삭제, 조회할 때 사용합니다.

  • 트랜잭션 처리가 가능합니다. (COMMIT 또는 ROLLBACK 필요)

DML 주요 명령어

  1. SELECT: 테이블의 데이터를 조회합니다.

    • 예: 나이가 20살 이상인 학생 조회하기

      SELECT * FROM students WHERE age >= 20;
  2. INSERT: 데이터를 테이블에 삽입합니다.

    • 예: 새로운 학생 정보 추가하기

      INSERT INTO students (id, name, age, gender)
      VALUES (1, 'John', 21, 'M');
  3. UPDATE: 기존 데이터를 수정합니다.

    • 예: 학생의 나이를 22살로 수정하기

      UPDATE students
      SET age = 22
      WHERE id = 1;
  4. DELETE: 데이터를 삭제합니다.

    • 예: ID가 1번인 학생 정보 삭제하기

      DELETE FROM students WHERE id = 1;

데이터 제어어 (DCL: Data Control Language)

데이터 제어어는 데이터베이스의 보안과 권한을 관리하거나, 트랜잭션을 제어할 때 사용됩니다.

DCL 주요 특징

  • 사용자에게 권한을 부여하거나 제거할 때 사용합니다.

  • 데이터베이스의 보안을 담당합니다.

DCL 주요 명령어

  1. GRANT: 특정 사용자에게 데이터베이스 접근 권한을 부여합니다.

    • 예: user1에게 SELECTINSERT 권한 부여하기

      GRANT SELECT, INSERT ON students TO user1;
  2. REVOKE: 특정 사용자에게 부여된 권한을 제거합니다.

    • 예: user1에게서 INSERT 권한 제거하기

      REVOKE INSERT ON students FROM user1;
  3. 트랜잭션 제어 명령어

    • COMMIT: 트랜잭션을 완료하고 변경 사항을 저장합니다.

      COMMIT;
    • ROLLBACK: 트랜잭션을 취소하고 변경 사항을 되돌립니다.

      ROLLBACK;
    • SAVEPOINT: 트랜잭션 내 복구 지점을 설정합니다.

      SAVEPOINT savepoint_name;

DDL, DML, DCL의 차이점

분류 설명 주요 명령어
데이터 정의어 (DDL) 데이터베이스 구조 정의 및 수정 CREATE, ALTER, DROP, TRUNCATE
데이터 조작어 (DML) 테이블의 데이터 추가, 수정, 삭제, 조회 SELECT, INSERT, UPDATE, DELETE
데이터 제어어 (DCL) 권한 관리 및 트랜잭션 제어 GRANT, REVOKE, COMMIT, ROLLBACK

마무리

SQL 명령어는 크게 세 가지로 나뉘며 각각의 역할이 다릅니다. 데이터베이스의 구조를 다룰 때는 DDL을, 데이터를 다룰 때는 DML을, 보안 및 트랜잭션 관리는 DCL을 사용합니다. 각각의 명령어를 잘 이해하고 상황에 맞게 사용하는 것이 SQL을 효과적으로 다루는 첫걸음입니다.

일반 SQL 내장 SQL 차이

0 0 votes
Article Rating
Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] SQL 명령어(정의어, 조작어, 제어어) […]

trackback

[…] SQL 명령어(정의어, 조작어, 제어어) […]

Loading...