FUNDAMENTAL 21. SQL을 이용해 DB와 대화해보자
1. 파이썬으로 DB 다루기
- SQLite : 서버의 필요 없이 DB의 파일에 기초하여 DB 처리를 구현한 임베디드 SQL DB 엔진이다.
- SQLite는 별도의 설치 없이, 쉽고 편리하게 사용할 수 있다는 점에서 많이 사용되고 있다.
- 파이썬과 DB : 파이썬과 DB는 서로 연결이 되있지 않는 상태이지만 SQLite가 이를 연결해주는 다리 역할을 하고 있다.
- Python DB API : sqlite3 패키지를 사용한다.
- sqlite DB Browser : DB 브라우저 어플리케이션을 통해 데이터베이스에 직접 접근해서 질의를 수행해 볼 수 있다.
- 트랜잭션 : 쪼개지면 안되는 압무단위를 말함. 예를 들어 ATM 계좌이체 시 출금계좌와 입금계좌 양쪽에서 금액이 빠지고 더해지는 과정을 말할 수 있다.
2. SQL의 기본
- SQL(Structured Query Language) : 데이터베이스(DB)에서 데이터를 조회하고자 할 때 필요한 컴퓨터 언어라 말할 수 있다.
- 쿼리의 기본 구조
1) SELECT ~ : 조회할 컬럼명을 선택
2) FROM ~ : 조회할 테이블명을 지정 (위치와 테이블명을 입력)
3) WHERE ~ : 질의할 때 필요한 조건을 설정
4) GROUP BY ~ : 특정 컬럼을 기준으로 그룹을 지어 출력
5) ORDER BY ~ : SELECT 다음에 오는 컬럼 중 정렬이 필요한 부분을 정렬 (기본 설정 : 오름차순)
6) LIMIT 숫자 : Display하고자 하는 행의 수를 설정
- DISTINCT와 GROUP BY
3. Data Type
- Data Type
- 문자형의 특정 부분을 떼어 내는 함수
1) LEFT : 왼쪽부터 원하는 길이만큼 자르는 함수. 사용법) LEFT(문자형 컬럼, 길이)
2) RIGHT : 오른쪽부터 원하는 길이만큼 자르는 함수. 사용법) RIGHT(문자형 컬럼, 길이)
3) SUBSTR(SUBSTRING) : 일정 영역만큼을 자르는 함수. 사용법) SUBSTR(문자형 컬럼, 길이)
- CAST() : 형 변환을 위한 함수
4. 다양한 조건으로 조회하기 : WHERE
5. SQL의 꽃, JOIN 수행하기
- INNER JOIN : A 테이블과 B 테이블의 교집합을 조회
- LEFT JOIN : (기준은 A 테이블) A 테이블을 기준으로 해서 B 테이블은 공통되는 부분만 조회
- RIGHT JOIN : (기준은 B 테이블) B 테이블을 기준으로 해서 A 테이블은 공통되는 부분만 조회
- FULL JOIN : A 테이블과 B 테이블 모두에서 빠트리는 부분 없이 모두 조회