1. Learn
  2. /
  3. Courses
  4. /
  5. Python으로 배우는 데이터베이스 입문

Connected

Exercise

단일 행 삽입하기

SQLAlchemy로 INSERT를 수행하는 방법은 여러 가지가 있지만, 여기서는 select 구문과 동일한 패턴을 따르는 방법에 집중하겠습니다.

이 방법은 테이블을 인자로 지정한 insert 구문을 사용하고, 삽입할 데이터를 .values() 메서드의 키워드 인자로 넘깁니다. 예를 들어 my_table에 my_col_1과 my_col_2 열이 있다면, insert(my_table).values(my_col_1=5, my_col_2="Example")는 my_table에 my_col_1은 5, my_col_2는 "Example"인 행을 생성합니다.

구문 차이에 주의하세요. 기존 구문에 where 절을 이어 붙일 때는 열 이름뿐 아니라 테이블 이름 도 포함합니다. 예: new_stmt = old_stmt.where(my_tbl.columns.my_col == 15). 이는 기존 구문이 여러 테이블을 포함할 수 있기 때문에 필요합니다.

반면, insert는 한 번에 하나의 테이블에만 레코드를 삽입할 수 있으므로, values()로 삽입할 때는 테이블 이름을 포함할 필요가 없습니다. 예: stmt = insert(my_table).values(my_col = 10).

여기에서 테이블 이름은 data입니다. 콘솔에서 repr(data)를 실행해 테이블 구조를 확인해 보세요.

Instructions

100 XP
  • sqlalchemy 모듈에서 insert와 select를 임포트하세요.
  • data 테이블에 대해 insert_stmt를 작성해 name을 'Anna', count를 1, amount를 1000.00, valid를 True로 설정하세요.
  • connection으로 insert_stmt를 실행하고 results에 저장하세요.
  • 몇 개의 레코드가 삽입되었는지 확인할 수 있도록 results의 .rowcount 속성을 출력하세요.
  • name이 'Anna'인 레코드를 data에서 조회하는 select 구문을 작성하세요.
  • 해결책을 실행해 select 구문 실행 결과를 출력하세요.