[DB] SQL 정리

handa·2024년 12월 3일
0
post-thumbnail

SQL 문은 데이터를 정의하고 조작하며 쿼리하기 위한 데이터베이스 관리 언어입니다.

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

  • CREATE : 데이터베이스 객체(테이블, 뷰 등)를 생성합니다.
    CREATE TABLE 테이블명 (
        컬럼명 데이터타입 제약조건,
        컬럼명 데이터타입 제약조건
    );
  • ALTER : 기존 객체를 수정합니다.
    ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
    ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입;
    ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
  • DROP : 객체를 삭제합니다.
    CREATE TABLE 테이블명 (
        컬럼명 데이터타입 제약조건,
        컬럼명 데이터타입 제약조건
    );

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

  • INSERT : 데이터를 삽입합니다.
    INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES (1,2);
  • UPDATE : 데이터를 수정합니다.
    UPDATE 테이블명
    SET 컬럼1 =1, 컬럼2 =2
    WHERE 조건;
  • DELETE : 데이터를 삭제합니다.
    DELETE FROM 테이블명 WHERE 조건;

3. 데이터 질의 언어 (DQL: Data Query Language)

  • SELECT : 데이터를 조회합니다.
    SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 조건;
  • 조건문 추가 : WHERE, GROUP BY, HAVING, ORDER BY
  • 조인 : INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
    SELECT A.컬럼1, B.컬럼2
    FROM 테이블A AS A
    INNER JOIN 테이블B AS B ON A.= B.;

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

  • GRANT : 사용자에게 권한을 부여합니다.
    GRANT SELECT, INSERT ON 테이블명 TO 사용자명;
  • REVOKE : 사용자 권한을 회수합니다.
    REVOKE SELECT, INSERT ON 테이블명 FROM 사용자명;

5. 트랜잭션 제어 언어 (TCL: Transaction Control Language)

  • COMMIT : 트랜잭션을 확정합니다.
    COMMIT;
  • ROLLBACK : 트랜잭션을 취소합니다.
    ROLLBACK;
  • SAVEPOINT : 특정 지점으로 트랜잭션을 저장합니다.
    SAVEPOINT 저장점명;
    ROLLBACK TO 저장점명;

6. 추가 쿼리 예시

  • 서브쿼리

    SELECT 컬럼1 FROM 테이블명 WHERE 컬럼2 IN (SELECT 컬럼2 FROM 다른_테이블명 WHERE 조건);
    
  • 집계 함수

    SELECT COUNT(*), AVG(컬럼명), SUM(컬럼명), MAX(컬럼명), MIN(컬럼명)
    FROM 테이블명
    GROUP BY 그룹_컬럼명;
  • CASE 문

    SELECT 컬럼명,
      CASE 
          WHEN 조건1 THEN 결과1
          WHEN 조건2 THEN 결과2
          ELSE 결과3
      END AS 새_컬럼명
    FROM 테이블명;

profile
진짜 해보자

0개의 댓글