본문 바로가기
자격증/SQLD

SQLD 정리 - 2과목 SQL 기본 PART 1

by char_lie 2023. 3. 13.
반응형

자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 SQLD의 기본 내용 (자격증 상세 내용은 아래)

https://www.dataq.or.kr/www/sub/a_03.do

 

데이터자격시험

SQL 전문가(SQLP*, SQL Professional)란 데이터베이스와 데이터모델링에 대한 지식을 바탕으로 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있고, 이를 토대

www.dataq.or.kr


관계형 데이터베이스 개요

데이터베이스

여러 가지 데이터를 저장하는 공간

  • 관계형 데이터베이스(RDB)
    • 모든 데이터를 2차원 테이블 형태로 표현 한 뒤 테이블 간 관계를 정의하는 것으로 시작
    • Oracle, SQL Server, MySQL, PostgreSQL 등
  • 테이블
    • 관계형 데이터베이스의 기본 단위
    • 일반적으로 데이터베이스는 여러 개의 테이블로 구성
    • 세로 열(속성) - 칼럼(Column), 가로 열(인스턴스) - 로우(Row)

SQL

관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어

SELECT 문

  • 저장되어 있는 데이터를 조회할 때 사용하는 명령어
# 기본형태
SELECT 컬럼1, 컬럼2, ··· From 테이블 WHERE 컬럼1 = ‘이름’;

# 애스터리스크(*)를 활용한 전체 컬럼 조회
SELECT * FROM 테이블;

# 테이블명이 길면 별칭(Alias)를 사용할 수 있음

SELECT SCHOOL.SCHOOL_NAME, STUDENT.STUDENT_NAME 
FROM SCHOOL, STUDENT 
WHERE SCHOOL.SCHOOL_CODE = STUDENT.SCHOOL_CODE;

↓

SELECT S.SCHOOL_NAME, ST.STUDENT_NAME 
FROM SCHOOL S, STUDENT ST 
WHERE S.SCHOOL_CODE = ST.SCHOOL_CODE;

# 별칭 사용시 테이블 명 대신 별칭을 사용

산술 연산자

  • () (우선순위 1) : 괄호로 우선 순위 지정 가능
  • *, / (우선순위 2) : 곱하기와 나누기
  • +, - (우선순위 3) : 더하기와 빼기

위 테이블을 SELECT COL1 +CO2 AS RESULT FROM SAMPLE;을 진행 하면 NULL이 포함되어 있으므로 합칠시에 결과 값은 NULL이 되므로 아래와 같이됨

  • 합성 연산자 : || (문자와 문자를 연결)

DDL

데이터를 정의하는 명령어

  • CREATE : 테이블을 생성하는 명령어
  • ALTER : 칼럼의 추가, 변경, 삭제, 제약조건 추가, 삭제 등을 할 수 있게해주는 명령어
    • ADD COLUMN : 새로운 컬럼을 추가할 때 사용
    • DROP COLUMN : 기존에 있던 컬럼이 필요 없어졌을 때 삭제하기 위해 사용
    • MODIFY COLUMN : 기존에 있던 칼럼을 변경할 때 쓰는 명령어
    • REANAME COLUMN : 기존에 있던 컬럼의 이름을 변경할 때 쓰는 명령어
    • ADD CONSTRAINT : 제약조건을 추가하고 싶을 때 쓰는 명령어
    • DROP TABLE : 테이블을 삭제할 때 쓰는 명령어
    • TRUNCATE TABLE : 테이블에 저장되어 있는 데이터를 모두 제거하는 명령어

DML

데이터를 입력하고, 입력된 데이터를 수정, 삭제, 조회하는 명령어

  • INSERT : 테이블에 데이터를 입력하는 명령어
  • UPDATE : 저장된 데이터를 수정하고 싶을 때 사용하는 명령어
  • DELETE : 이미 저장된 데이터를 삭제하고 싶을 때 사용하는 명령어
  • MERGE : 테이블에 새로운 데이터를 입력하거나 이미 저장되어 있는 데이터에 대한 변경 작업을 한 번에 할 수 있도록 해주는 명령어

TCL

트랙젼을 제어하는 명령어 COMMIT, ROLLBACK, SAVEPOINT

  • 원자성 : 트랜잭션으로 묶인 일련의 동작들은 모두 함께 작동해야 함
  • 일관성 : 트랜잭션이 완료된 후에도 데이터베이스가 가진 데이터에 일관성이 있어야 함
  • 고립성 : 하나의 트랜잭션은 고립되어 수행되어야 함
  • 지속성 : 트랜잭션이 성공적으로 수행되었을 경우 트랜잭션이 변경한 데이터가 영구적으로 저장되어야 함을 의미

COMMIT

INSERT, DELETE, UPDATE 후 변경된 내용을 확정, 반영하는 명령어

ROLLBACK

INSERT, DELETE, UPDATE 후 변경된 내용을 취소하는 명령어

SAVEPOINT

전체 작업을 되돌리지 않고 일부만 되돌릴 수 있게 하는 기능을 가진 명령어

반응형

댓글