Database
Python에서 SQL에 데이터 UPSERT하기
RTDB를 지속적으로 업데이트하게 되면서, key column에 대해 중복되지 않게 데이터를 업데이트하는 로직의 필요성이 생겼다. Pandas의 to_sql 메서드의 경우 같은 이름의 SQL 테이블이 존재할 때 3가지 방식을 지원하는데, 아래와 같다. if_exists: 'fail'일 때 테이블이 존재하면 ValueError를 일으킨다. if_exists: 'replace'일 때 테이블이 존재하면 기존의 테이블을 없애고 새로운 테이블을 덮어씌워 저장한다. if_exists: 'append'일 때 테이블이 존재하면 새로운 table을 새로운 행으로 추가하여 저장한다. 특정 column에 대해 중복된 행을 제외하고 데이터를 업데이트 하는 기능을 지원할 줄 알았는데, 그런 기능은 없었다. Python으로 이와..
pyodbc를 이용하여 python에서 MSSQL 연결하기
python에서 DB를 연결할 때 주로 SQLite3를 많이 사용하지만, 회사에서 MSSQL을 사용해야 할 일이 생겼다. Python의 SQLAlchemy 툴킷을 이용하면 다양한 형태의 DB에 접근할 수 있다. SQLAlchemy는 쉽게 각 DB의 API를 이용해 Python에서 제어할 수 있게 해주는 ToolKit이라 생각하면 된다. MSSQL 사전 설정하기 MSSQL 홈페이지에서 개발자용 SQL Server를 다운로드한다. https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads Microsoft SQL Server Management Studio를 실행한다. PC 설정 > 시스템 > 정보의 디바이스 이름을 서버 이름으로 설정하고 로그인한다. ..