반응형
SQLAlchemy를 사용하면서 CRUD 사용하는 방법에 대한 포스팅입니다.
Create
session.add('추가할 객체 이름')
session.commit()
ex) User를 DB에 추가
tmpUser = User(name, fullname, password)
session.add(tmpUser)
session.commit()
Update
session.query('수정할 객체 타입').filter_by('수정할 객체 정보').update('수정 사항')
session.commit()
ex) 입력한 name, fullname, password가 모두 일치하는 User의 정보 수정
session.query(User).filter_by(name = name, fullname = fullname, password = password).update({"name" : pname, "fullname" : pfullname, "password" : ppassword})
session.commit()
DELETE
session.query('삭제할 객체 타입').filter_by('삭제할 객체 정보')
session.commit()
ex) 입력한 name, fullname, password가 모두 일치하는 User 삭제
session.query(User).filter_by(name=name, fullname=fullname, password=password).delete()
session.commit()
Select
obj = session.query('검색할 객체 타입').filter_by('검색 옵션')
ex) 입력한 name, fullname, password가 모두 일치하는 User 검색
tmpUser = session.query(User).filter_by(name = name, fullname = fullname, password = password)
print tmpUser
select는 다양한 방법으로 사용 가능합니다.
def findByName(self, tableName, name):
table = db.Table(tableName, metadata, autoload=True, autoload_with=DATABASES)
query = db.select([table]).where(table.columns.name == name)
result_data = connection.execute(query)
return result_data.fetchall()
테이블 전체 조회하는 방법
def get(self, tableName):
table = db.Table(tableName, metadata, autoload=True, autoload_with=DATABASES)
query = db.select([table])
result_data = connection.execute(query)
return result_data.fetchall()
반응형
'개발(합니다) > Python' 카테고리의 다른 글
[Python] cryptography로 대칭키 암호화 하는 방법 (0) | 2021.11.08 |
---|---|
[Python] SQLAlchemy ORM(MySql) 사용하는 방법 (0) | 2021.11.07 |
[python] 파이썬으로 텔레그램 봇 만들기 (0) | 2021.04.26 |