💡 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 : 정렬
- LIMIT 숫자 : Display하고자 하는 행의 수를 설정 매번 까먹는 부분!
- 데이터 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문과 같은 기능