시작하기무료로 시작하기

데이터베이스에서 읽어오기

이번 연습 문제에서는 로컬 PostgreSQL 데이터베이스의 테이블에 들어 있는 데이터를 추출해 볼 거예요. 사용할 데이터는 Pagila 예제 데이터베이스입니다. 이 데이터베이스는 가상의 DVD 매장 애플리케이션을 기반으로 하며, 교육 자료에서 예제 데이터베이스로 자주 사용됩니다.

데이터베이스 테이블을 pandas DataFrame 객체로 추출하는 함수를 만들고 사용할 거예요. 추출할 테이블은 다음과 같습니다.

  • film: DVD 매장에서 대여되는 영화 정보
  • customer: DVD 매장에서 영화를 대여한 고객 정보

데이터베이스에 연결하려면 PostgreSQL 연결 URI를 사용해야 하며, 형식은 다음과 같습니다.

postgresql://[user[:password]@][host][:port][/database]

이 연습은 강의의 일부입니다

데이터 엔지니어링 입문

강의 보기

연습 안내

  • extract_table_to_pandas() 함수 정의를 완성하여, 쿼리에 tablename 인자가 포함되도록 하세요.
  • 연결 URI를 채우세요. 사용자 이름과 비밀번호는 각각 repl, password입니다. 호스트는 localhost, 포트는 5432, 데이터베이스는 pagila입니다.
  • extract_table_to_pandas() 함수 호출을 완성하여 film 테이블과 customer 테이블을 추출하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
    query = "SELECT * FROM {}".format(____)
    return pd.read_sql(query, db_engine)

# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____" 
db_engine = sqlalchemy.create_engine(connection_uri)

# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)

# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
코드 편집 및 실행