[패키지] sqlalchemy
django를 사용할 때는 django ORM을 사용하여 DB에 접근하지만 순수 python을 사용할 경우 ORM을 패키지를 통해 사용함.
JAVA : mybatis와 같은 역할
$ pip install sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
user = 'test'
password = '1234'
host = '127.0.0.1'
port = '3306' # mysql
dbname = 'testdb'
database = f'mysql://{user}:{password}@{host}:{port}/{dbname}?charset=utf8' # mysql의 DBurl패턴
engine = create_engine(database, convert_unicode=True)
Session = sessionmaker(bind=engine) # 세션 생성
session = Session() # 세션 접속
● create_engine(DBurl) : DB에 접속하는 engine 생성
- DBurl 패턴은 DB에 따라 다름
docs.sqlalchemy.org/en/13/core/engines.html
● Session = sessionmaker(bind=데이터베이스) : 세션팩토리, bind한 DB로 세션생성
● session = Session() : 세션팩토리로 생성한 세션에 접속