[파이톤의 ORM] SQLAlchemy의 기본 사용법!

8289 단어 PythonSQLormtech

개시하다


SQLAlchemy는 파이톤에서 사용할 수 있는 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)

기본 작업


Insert


데이터를 추가할 때, 우선session을 생성합니다.
그리고 생성된 모델에 데이터를 입력하여session에 추가합니다.
추가된 데이터를commiit를 통해 데이터베이스에 반영하고session을 닫습니다.
db_session = sessionmaker(bind=engine)()
account = Account(email=email, password=password)
db_session.add(account)
db_session.commit()
db_session.close()

Select


데이터를 참고할 때session을 먼저 생성합니다.
그리고query를 사용하여 참조할 데이터를 지정합니다.
이번all에서 모든 데이터를 얻었습니다. 여기서 필터와 정렬을 할 수 있습니다.
마지막으로 세션을 닫습니다.
db_session = sessionmaker(bind=engine)()
db_session.query(Account).all()
db_session.close()

Update


데이터를 업데이트할 때, 우선session을 생성합니다.
그리고 모델에서 업데이트하고 싶은 데이터를 만들어서session에 추가합니다.
추가된 데이터를commiit를 통해 데이터베이스에 반영하고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을 생성합니다.
그리고query를 사용하여 삭제할 데이터를 가져옵니다.
delete로 얻은 데이터를 삭제하고 데이터베이스에 반영하여session을 닫습니다.
db_session = sessionmaker(bind=engine)()
account = db_session.query(Account).first()
db_session.delete(account)
db_session.commit()
db_session.close()

SQL 문 직접 실행


위에서 지정한 방법 외에 더욱 세밀한 조작이 필요할 때 SQL 문장을 직접 실행한다.
다음과 같다.excute를 통해 실행할 수 있습니다.
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가 중요하다고 생각합니다.
많이 접촉하고 천천히 익숙해지세요.

통지하다


웹 사이트, 도구, LP 작성
https://iteek.jp/contact/
이쪽에서 문의하실 수 있어요.편하게 문의해주세요.

참고 자료


https://www.sqlalchemy.org/

좋은 웹페이지 즐겨찾기