-
SQL 기초: MySQL 중심으로금융퀀트/프로그램기초 2022. 9. 26. 06:45반응형
SQL의 기본 정의
자동매매를 위해서는 데이터베이스를 조작할 수 있어야 한다. 쌓아 놓은 수많은 과거 데이터를 재료로 모델을 만들고, 가격을 예측하기 때문이다. 데이터베이스를 조작하는 프로그램은 MySQL, Oracle, SQLite 등이 있는데 전부 SQL 문 베이스로 근본은 똑같다. SQL 문은 사용자가 데이터베이스에 질문을 하는 것이다. 엑셀에서 "sheet1에 "A6" 셀에 있는 데이터를 보여줘"라는 식의 질문을 컴퓨터가 알아먹을 수 있도록 던지는 것이라고 생각하면 된다.
SQL 문의 분류
SQL 문은 기본적으로 CRUD로 구성된다. CRUD 는 위키피디아에 검색해보면 아래와 같은 표를 확인할 수 있다.
이름 조작 SQL Create 생성 INSERT Read 읽기 SELECT Update 갱신 UPDATE Delete 삭제 DELETE 표1: 위키피디아 CRUD 정의 (https://ko.wikipedia.org/wiki/CRUD)
SQL 문의 4 가지 구성요소 중에서 우리가 알아야 할 것은 Read(읽기)-SELECT이다. 일단 내가 원하는 데이터를 뽑아내기만 하면 그 데이터를 INSERT, UPDATE, DELETE 치는 일은 쉽다. MySQL에 한정해서 INSERT, UPDATE, DELETE 관련된 일은 MySQL Workbench 에서 지원해주는 경우도 많다.
SQL-SELECT 문법 기초( MySQL)
03 MYSQL 설치(Windows) 라는 글에서 아래와 같은 MySQL의 데이터 구조를 소개한 바 있다.
그림1: MySQL DB구조 위 구조를 바탕으로 생각할 수 있는 SELECT 쿼리문의 기본구조는 아래와 같다.
Select 컬럼명 from 테이블A where Row조건
FROM 테이블명
SELECT 문을 짤 때는 어느 테이블에서 데이터를 뽑을지부터 알아야 한다. MySQL의 Workbench에서 아래 그림 2처럼 스키마 하위에 있는 테이블 명을 확인할 수 있다. 기본적으로는 DataBase 테이블 요건서를 보고 데이터 테이블을 확인한다. 이렇게 확인한 테이블 명을 "from" 뒤에 넣는다.
그림2: MySQL Workbench 에서 테이블 명 확인 SELECT 컬럼명
"select" 뒤에는 컬럼명을 넣는다. 그래서 먼저 해당 테이블의 컬럼명을 알아야 한다. 보통 아래 그림3 왼쪽 그림처럼 먼저 * 을 이용한 쿼리문을 먼저 실행해서 파악하거나 테이블 요건서를 보고 파악을 한다. 컬럼명 파악이 끝나면 아래 그림3 오른쪽 그림처럼 컬럼명을 선택한다.
그림3: SQL SELECT 문 예시 WHERE 컬럼에 대한 ROW 조건
"where" 뒤에 조건을 줘서 특정 row를 선택할 수 있다. 위 그림 3에서 2022-03-18 일자 ( pDATE의 row 조건 ) 데이터를 보고 싶으면 pDate 컬럼에 해당 데이터가 있고 이 컬럼 데이터가 '2022-03-18' 일 때가 궁금한 것이므로 아래와 같이 SQL문을 작성한다.
그림4: SQL SELECT 문 최종 예시 쿼리문은 이렇게 만든 기본 SELECT 문 구조에 살을 붙여 나가는 것이다.
반응형'금융퀀트 > 프로그램기초' 카테고리의 다른 글
[AWS]호스팅 서비스란? (0) 2023.02.09 MYSQL에 CSV file 삽입하기: DATA IMPORT WIZARD 등 (0) 2022.09.27 MYSQL : Python 웹스크레핑 데이터 MySQL 서버 저장하기 (0) 2022.08.27 MYSQL 설치(Windows) (1) 2022.08.24 파이썬 : 웹스크레핑 네이버 파이낸스 데이터수집 (2) 2021.07.15