Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_3
파이썬에서 mysql 데이터에 upsert하는 과정을 보여드리겠습니다. 1. 필요한 라이브러리 불러오기 import pandas as pd import pymysql 2. upsert할 데이터 작성하기 price = pd.DataFrame({ "날짜": ['2021-01-04', '2021-01-04'], "티커": ['000001', '000002'], "종가": [1320, 1315], "거래량": [2100, 1500] }) args = price.values.tolist() 3. pymysql을 통해 필요한 정보 입력하기 con = pymysql.connect( user = 'root', password = '1234', host = '127.0.0.1', db = 'exam', charset =..
Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_2
sql에서 upsert 사용방법 insert into @table (arg1, arg2, arg3) values (@arg1, @arg2, @arg3) on duplicate key update (key를 제외한 update할 칼럼) arg2 = @arg2, arg3 = @arg3 파이썬으로 upsert하는 방법을 보여주기 전에 MySQL에서 upsert를 먼저 보여드리겠습니다. 사용 예시를 보여주기 위해 exam db에 price테이블을 만든 후 데이터를 입력해보겠습니다. use exam; create table price_2( 날짜 varchar(10), 티커 varchar(6), 종가 int, 거래량 int, primary key(날짜, 티커) ); insert into price_2 (날짜, 티커..
MySQL - 윈도우 함수
윈도우 함수 사용방법 [윈도우 함수] over ([partition by [열 리스트]] order by [정렬용 열 리스트]) 여기서 partition by는 생략 가능합니다 #윈도우 함수로 사용할 수 있는 함수 -윈도우 전용 함수 rank, dense_rank, row_number 등 rank: 같은 순위인 행이 여러개 있으면 후순위로 건너뜀 예) 1위가 3개인 경우: 1위, 1위, 1위, 4위, ··· dense_rank: 같은 순위인 행이 여러개 있어도 후순위를 건너뛰지 않음 예) 1위가 3개인 경우: 1위, 1위, 1위, 2위, ··· row_number: 순위와 상관없이 연속 번호를 부여 예) 1위가 3개인 경우: 1위, 2위, 3위, 4위, ··· 윈도우 전용 함수는 원칙적으로 select ..