데이터 놀이터
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 4. DB API 본문
728x90
오늘의 키워드
- DB API
- 클라우드 DB
- PostgreSQL
- sqlite3
- psycopg2
개념 정리
1. Python DB API
- DB API(Application Programming Interface)
- python과 DB 간 상호작용을 위해 활용하는 규칙, 툴
- sqlite3 : 파이썬 내 가벼운 파일형 DB, 고급 기능을 구현하기에는 무리가 있지만 단순 실험, 개발 단계에서 활용하기 좋음
import sqlite3
## 1. 데이터베이스 파일 생성 및 연결
conn = sqlite3.connect('DB명')
## 2. 커서(소통 도구) 생성
cur = conn.cursor()
## 3. 커서 메소드 활용
cur.execute(쿼리문)
## 4. commit
conn.commit()
## 5. 결과 조회
cur.execute("SELECT * FROM 테이블명;")
cur.fetchall() # 전체 조회
cur.fetchmany(a) # a개만큼 조회
cur.fetchone() # 한개 조회
#### 조회시 조회한만큼 커서가 이동, cur.execute("SELECT * FROM 테이블명;")를 통해 커서 위치 초기화가능
2. 클라우드 DB
- 원격으로 관리되는 DB로 해당 DB에 대한 접근 정보가 있어야 함
- URI 형식 필요
## URI 구성
서비스://유저_이름:유저_비밀번호@호스트:포트번호/경로
- ElephantSQL : PostgreSQL기반 클라우드 시스템
- psycopg2 라이브러리를 활용(API라고 할 수 있음)하여 PostreSQL과 python을 연결 가능
## psycopg2 라이브러리 설치
pip install psycopg2
##### 설치가 되지 않을 경우
pip install psycopg2-binary
## 데이터베이스 연결
import psycopg2
conn = psycopg2.connect(
host="서버 호스트 주소",
database="데이터베이스 이름",
user="유저 이름",
password="유저 비밀번호")
## 이후 sqlite3와 동일
코드 정리
## Table 반복 실험시 문제 생기지 않도록 하는 구문
cur.execute("DROP TABLE IF EXISTS 테이블명;")
cur.execute("CREATE TABLE IF NOT EXISTS 테이블명()")
## f구문 활용
f"~~{변수}~~"
## 사전 형식 ({ : })
사전.items() -> key, value 출력
사전.keys() -> key
사전.values() -> value 출력
## python 내 CSV 라이브러리로 csv 불러오기 (Pandas X)
import csv
with open('csv파일명', 'r', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
##### next(reader) : 다음 행 읽기
## enumerate() : index와 값 출력
더 알아봐야할 것
- fetchall(), fetchone(), fetchmany() : https://sjs0270.tistory.com/138
- URI, URN, URL 차이 : https://velog.io/@younoah/uri-url-urn
- csv 라이브러리 활용 :https://docs.python.org/ko/3.8/library/csv.html
728x90
'코드스테이츠 AIB 17' 카테고리의 다른 글
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 1. Python 활용 (0) | 2023.03.28 |
---|---|
Section 4 - Sprint 1 Challenge (0) | 2023.03.23 |
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 3. SQL 심화 (0) | 2023.03.21 |
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 2. SQL, RDB (0) | 2023.03.21 |
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 1. 개발 환경 (0) | 2023.03.20 |