데브코스/TIL

2023-12-04 데브코스 3주차 - 1 TIL

Hynnjnn 2023. 12. 4. 23:44

SQL과 RDB란 무엇인가?

데이터베이스

  • 관계형 데이터베이스(RDBMS)

    • 표 형태(MySQL, Oracle, PostgreSQL 등)
    • 주로 정형 데이터
    • 트랜잭션 처리 -> 일관성과 무결성 필요한 서비스에서 사용(트랜잭션의 ACID 특성)
    • 고정된 스키마 -> 데이터 구조 변경 어려움 -> 수평 확장 어려움
    • SQL을 통해 데이터 수집, 관리

  • 비-관계형 데이터베이스(NoSQL)

    • Key-value Store, Column-family, Document, Graph 등의 형태(MongoDB, cassandra 등)
    • 비정형/반정형 데이터(JSON, XML 등)
    • ACID 특성 보장하지 않는 경우도 있음, 중복
    • 유연한 스키마 -> 데이터 구조 변경 용이 -> 수평 확장 용이

SQL(Structured Query Language)

  • Table, Column, Row

sqlfiddle 사이트에서 실습하기


  • 필요한 행과 열만 가져오는 것이 좋음
  • WHERE 바로 옆에 1=1과 같은 무조건 참인 논리 연산자 추가해서 조건 수정할 때 간단하게 주석처리만 하면 되게끔 하면 좋음
    • 예시
SELECT *
FROM PRODUCT
WHERE 1=1
-- AND category = '주방용품'
AND price > 1000
  • 1 as new_col 이런 식으로 새로운 컬럼 만들어낼 수도 있음
  • CONCAT(name, '의 가격은', price, '원 입니다.') 이런 식으로 자료형 상관없이 이을 수 있음
  • COALESCE(purchase_date, 'Unknown') : 널값 채우기
  • CREATE TABLE IF NOT EXISTS : 테이블이 없으면 생성.