【Python ORM】 SQLAlchemy의 기본 사용법!

7731 단어 파이썬ORMSQL


소개



SQLAlchemy는 Python에서 사용할 수 있는 ORM입니다.

파이썬 커뮤니티에서 가장 많이 사용되는 ORM 라이브러리 중 하나이기 때문에 사용할 기회가 많을 것입니다.

그런 SQLAlchemy의 기본적인 사용법을 정리해 보았습니다.

우선은, 여기로부터 기본적인 조작을 배우고, 응용적인 것에 대해서는, 수시 조사하면서 실장하면 좋을까 생각합니다.

사용법



설치


$ pip install sqlalchemy

모델 만들기



다음과 같이 모델을 정의하면 실행 시점에 테이블이 생성됩니다.
engine = sqlalchemy.create_engine('sqlite:///db.sqlite3', echo=True)
Base = declarative_base()


class Account(Base):
    __tablename__ = 'account'

    email = Column(String, primary_key=True)
    password = Column(String)


Base.metadata.create_all(bind=engine)

기본 조작



삽입



데이터를 추가할 때 먼저 session을 생성합니다.

그런 다음 작성한 모델에 데이터를 입력하고 session에 추가합니다.

추가 된 데이터를 커밋으로 데이터베이스에 반영하고 세션을 닫습니다.
db_session = sessionmaker(bind=engine)()
account = Account(email=email, password=password)
db_session.add(account)
db_session.commit()
db_session.close()

선택



데이터를 참조할 때도 먼저 session 을 생성합니다.

그런 다음 query를 사용하여 참조할 데이터를 지정합니다.

이번에는 all로 모든 데이터를 취하고 있습니다만, 여기서 필터링을 하거나, 정렬을 실시할 수 있습니다.

마지막으로 세션을 닫습니다.
db_session = sessionmaker(bind=engine)()
db_session.query(Account).all()
db_session.close()

업데이트



데이터를 업데이트 할 때도 먼저 session을 생성합니다.

그런 다음 모델에서 업데이트할 데이터를 만들고 session에 추가합니다.

추가 된 데이터를 커밋으로 데이터베이스에 반영하고 세션을 닫습니다.
db_session = sessionmaker(bind=engine)()
account = Account(email=email, password=password)
account = new_email
db_session.add(account)
db_session.commit()
db_session.close()

Delete



데이터를 삭제할 때도 먼저 session을 생성합니다.

그런 다음 삭제할 데이터를 쿼리를 사용하여 검색합니다.

delete를 사용하여 검색된 데이터를 삭제하고 데이터베이스에 반영하고 세션을 닫습니다.
db_session = sessionmaker(bind=engine)()
account = db_session.query(Account).first()
db_session.delete(account)
db_session.commit()
db_session.close()

직접 SQL 문 실행



상기에 나타낸 지정의 방법 외에 보다 세세한 조작등 하고 싶을 때는, 직접 SQL 문을 실행합니다.

다음과 같이 engine.execute에서 실행할 수 있습니다.

select 의 경우의 예를 나타내고 있습니다만, 건네주는 인수의 캐릭터 라인을 바꾸어 주는 것으로 다른 조작도 가능합니다.
from sqlalchemy import *

engine = create_engine('sqlite:///db.sqlite3')

result = engine.execute("select * from sample_table")

for row in result:
    print(row)

결론



어땠어?

SQLAlchemy 를 사용하기 시작하는 첫걸음이 될 수 있으면 다행입니다.

프레임 워크에 따라 SQLAlchemy를 사용하지 않고 응용 프로그램을 만들 수 있습니다.

경량의 프레임워크를 사용할 때는 SQLAlchemy 를 편리하게 할까 생각합니다.

꼭, 여러가지 만져 봐, 익숙해 가 주세요.

htps : //에서. 코 m/료카_인
이 사이트에서 일부 기사를 선행하여 유료 공개하고 있습니다. 꼭 봐 주세요.

참고

좋은 웹페이지 즐겨찾기