비교적 가벼운 데이터베이스인 SQLite에 연결하는 작업을 해봅시다.
다음처럼 해볼 수 있습니다.
>>> from sqlalchemy import create_engine
>>> engine = create_engine("sqlite+pysqlite:///:memory:", echo=True, future=True)
sqlalchemy.create_engine
함수를 이용하여 데이터베이스와 연결을 맺는 '엔진' 을 만듭니다.- 첫 번째 인자로
문자열 URL
을 넘깁니다.- 일반적으로
문자열 URL
은dialect+driver://username:password@host:port/database
의 형태로 구성됩니다.driver
값을 주지 않으면sqlalchemy
의 기본 설정 값이 들어가게 됩니다.
- 여기서는
sqlite+pysqlite:///test.db
가문자열 URL
입니다.sqlite
의 경우sqlite://<nohostname>/<path>
의 포맷을 따릅니다.
- 일반적으로
- 문자열
URL
인sqlite:///test.db
에서 다음 정보들을 알 수 있습니다.- 어떤 데이터베이스를 사용할 것인지 (
dialect
라고 하며, 이 경우sqlite
입니다) - 어떤 데이터베이스 API (DB와 상호작용하는 드라이버) 를 사용할 것인지 (이 경우
pysqlite
입니다) - 데이터베이스를 어떻게 찾을지 (이 경우
sqlite
에서 제공하는 인메모리를 사용합니다.)
- 어떤 데이터베이스를 사용할 것인지 (
echo
파라미터의 값을True
를 주면 실행되는 모든 SQL을 출력해줍니다.
엔진을 만들었지만, 아직 실제로 연결을 시도한 것은 아닙니다. 실제 연결은 데이터베이스에 대해 작업을 수행하라는 요청을 처음받을 때만 발생합니다.