210825 FUNDAMENTAL 27. SQL

문소정·2021년 8월 25일
0

AIFFEL

목록 보기
35/66

💡 FUNDAMENTAL에서는 대문자로 실습하지만 큰 상관은 없음, 하지만 컬럼명은 정확히 쓸 것!

1. 파이썬으로 DB다루기

  • 표준 라이브러리 : 기본적로 설치되는 모듈
  • Cursor : SQL 질의(Query)를 수행하고 결과를 얻는데 사용하는 객체
  • commit() : 데이터베이스에 데이터 변경이 실제적으로 반영 ⇨ 데이터베이스 "트랜잭션(transaction) 관리"
    • 삽입, 갱신, 삭제 등의 SQL 질의가 끝났다면 conn.commit()를 호출해야 DB가 실제로 업데이트
  • 트랜잭션(transaction) : 쪼개질 수 없는 업무처리의 단위
  • DML문(Data Manipulation Language) : 데이터 조작 언어
    • CREATE TABLE 테이블 생성
    • INSERT INTO 데이터 삽입
      • ex) INSERT INTO 도서명 VALES (?, ?)
      • (?, ?)는 각테이블의 변수(idex, value)에 데이터를 넣는다는 뜻
      • ? : 데이터를 쿼리에 바인딩 하는 기법
      • 바인딩 : 프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확정하는 것

2. SQL(Structured Query Language)

  • SELECT : 조회
  • FROM : 조회할 테이블명을 지정 (위치와 테이블명을 입력)
  • WHERE : 조건문
    • 특정 문자를 포함하는 row를 가져오고 싶을 때
    • 특정 기간 혹은 특정 날짜의 전 또는 이후의 row를 가져오고 싶을 때
    • 특정 숫자 이상 또는 이하의 row를 가져오고 싶을 때
  • GROUP BY : 그룹별 출력
  • ORDER BY : 정렬
    • ASC : 오름차순
    • DESC : 내림차순
  • LIMIT 숫자 : Display하고자 하는 행의 수를 설정 매번 까먹는 부분!
테이블열(column)행(row)
  • 데이터 type
  • pragma table_info('테이블명') : 데이터 타입 정의 확인
  • 문자형 조작(left/right/substring/sqlit_part)
  • JOIN : 테이블 합치기
  • KEY : 병합 기준이 되는 column
    • LEFT TABLE : A 테이블, RIGHT TABLE : B 테이블 일 때,
    • INNER JOIN : A 테이블과 B 테이블의 교집합을 조회
    • LEFT JOIN : (기준은 A 테이블) A 테이블을 기준으로 해서 B 테이블은 공통되는 부분만 조회
    • RIGHT JOIN : (기준은 B 테이블) B 테이블을 기준으로 해서 A 테이블은 공통되는 부분만 조회
    • FULL JOIN : A 테이블과 B 테이블 모두에서 빠트리는 부분 없이 모두 조회

  • 중첩 질의(Nested Query) : 위에서 다룬 LEFT JOIN을 사용한 서브쿼리의 결과 C로부터 다시 쿼리를 수행하는 형태. 즉, 이중 쿼리
    • IFNULL(값1, 값2) : 값1 항목이 NULL인지 체크해서 NULL이면 값2를 대신, 이외의 경우에는 값1을 그대로 리턴하는 것
    • CASE : IF문과 같은 기능

0개의 댓글