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
Engine Configuration — SQLAlchemy 1.3 Documentation
The create_engine() function produces an Engine object based on a URL. These URLs follow RFC-1738, and usually can include username, password, hostname, database name as well as optional keyword arguments for additional configuration. In some cases a file
docs.sqlalchemy.org
● Session = sessionmaker(bind=데이터베이스) : 세션팩토리, bind한 DB로 세션생성
● session = Session() : 세션팩토리로 생성한 세션에 접속
'Langauge > Python' 카테고리의 다른 글
[라이브러리] Unit Test (단위 테스트, 유닛 테스트) (0) | 2021.02.24 |
---|---|
인코딩, 디코딩(encoding, decoding) (0) | 2021.02.02 |
[라이브러리] logging (로깅, 로그) (0) | 2021.01.28 |
Pycharm 프로젝트 셋팅 (0) | 2021.01.26 |
Python 라이브러리 (0) | 2021.01.21 |