DB

[Python] SQLite3 DB 적재 1회차

렁다이쿤 2023. 6. 7. 16:06
728x90

먼저 필요 패키지를 import 합니다.

# 패키지 Import
import pandas as pd
import sqlite3
from sqlalchemy import create_engine

 

먼저 DB를 생성 및 연결합니다.

아래 코드를 실행하면, abcdefg DB를 생성하고 연결합니다. 여기서 isolation_level = None을 설정하면 update, insert, delete문과 같이 DB 데이터 변화 쿼리문에 자동커밋을 설정합니다.(설정해주는 것을 추천)

# DB 연결
# 일반연결
conn = sqlite3.connect("abcdefg.db", isolation_level=None)
cur = conn.cursor()

# SQLAlchemy 연결
engine = create_engine('sqlite:///abcdefg.db')
conn2 = engine.connect()
In [5]:

이후, 연결된 DB에 원하는 데이터 깡통을 만들면 됩니다.

# DB 테이블 생성
# 고객정보
cur.execute("""drop table if exists CUSTOMER_INFO""")

cur.execute("""
    create table if not exists CUSTOMER_INFO(
          고객번호                      VARCHAR             -- CUST_ID
        , 성                           VARCHAR             -- LAST_NAME
        , 이름                         VARCHAR             -- FIRST_NAME
        , 성별                         VARCHAR             -- GENDER
        , 나이                         VARCHAR             -- AGE
        , PRIMARY KEY(고객번호)
)
"""
)

여기서, 방어코드로 "cur.execute("""drop table if exists CUSTOMER_INFO""")를 실행해 주었는데, 사용자에 필요에 따라 사용하셔도, 사용하지 않으셔도 무방합니다.

 

잘 만들어졌는지 확인해볼까요?

pd.read_sql("SELECT * FROM CUSTOMER_INFO", conn)
 
 
 

빈 깡통이 잘 만들어졌네요!

 

* Tip, SQL에서는 띄어쓰기 맞춰주는 게 기본입니다! 반드시 맞춰주세요.