반응형
DB에 데이터를 삽입하는 방법 [ add ]
vegan = Vegan(id=1, shop="502 세컨즈카페", address="서울 노원구 섬밭로 232 우성아파트", sector="양식", menu="502 샐러드파스타(락토,비건가능), 502 양념감자튀김(락토,비건가능)", longitude=37.6366151651829, latitude=127.065668150406, region="노원구", image="https://search.pstatic.net/common/?autoRotate=true&quality=95&size=168x130&src=https%3A%2F%2Fldb-phinf.pstatic.net%2F20180323_17%2F1521777524889tQVNp_JPEG%2F_%25A5%25ED___01.jpg&type=f") db.session.add(vegan) db.session.commit()
DB 업데이트 방법 1 : select 후 값을 업데이트 한후 commit
shop_name = Vegan.query.get(1) shop_name.shop = "음식점 이름" db.session.commit()
DB 업데이트 방법 2 : select 없이 업데이트 한 후 Commit
shop_name = db.session.query(Vegan).filter(Vegan.id == 1).update({'shop': '업데이트 테스트!'}) db.session.commit()
id 값이 1인 가게를 가져오기
vegan_id = Vegan.query.get(1) print(f"vegan_id : {vegan_id.shop}")
모든 데이터 가져오기
vegans = Vegan.query.all() vegan_all = " ".join(i.shop for i in vegans) print(f"vegan_all : {vegan_all}")
가게 이름이 "카페 썬"인 가게를 검색
vegans = Vegan.query.filter(Vegan.shop == '카페 썬') vegan_equal = " ".join(i.shop for i in vegans) print(f"vegan_equal: {vegan_equal}")
이름이 "카페 썬"이 아닌 가게를 검색
vegans = Vegan.query.filter(Vegan.shop != "카페 썬") vegan_not_equal = " ".join(i.shop for i in vegans) print(f"vegan_not_equal: {vegan_not_equal}")
이름이 "카페"와 비슷한 멤버를 검색
검색할 문자열 앞에 % 표시 할 경우 %문자열로 끝나는 단어들
검색할 문자열 뒤에 % 표시 할 경우 문자열%로 끝나는 단어들
검색할 문자열 앞뒤에 % 표시시 문자열 포함하는 단어들 %문자열%
vegans = Vegan.query.filter(Vegan.shop.like("%카페%")) vegan_like = " ".join(i.shop for i in vegans) print(f"vegan_like: {vegan_like}")
이름이 "카페 썬", "5길반찬"에 포함되는 멤버를 검색
vegans = Vegan.query.filter(Vegan.shop.in_(["카페 썬", '5길반찬'])) vegan_in = " ".join(i.shop for i in vegans) print(f"vegan_in: {vegan_in}")
이름이 "카페 썬", "5길반찬"에 포함되지 않는 멤버를 검색
vegans = Vegan.query.filter(~Vegan.shop.in_(["카페 썬", '5길반찬'])) vegan_not_in = " ".join(i.shop for i in vegans) print(f"vegan_not_in: {vegan_not_in}")
이름이 비어있는 멤버를 검색
vegans = Vegan.query.filter(Vegan.shop == None) vegan_is_null = " ".join(i.shop for i in vegans) print(f"vegan_is_null: {vegan_is_null}")
이름이 비어있지 않은 멤버를 검색
vegans = Vegan.query.filter(Vegan.shop != None) vegan_is_not_null = " ".join(i.shop for i in vegans) print(f"vegan_is_not_null: {vegan_is_not_null}")
이름이 "카페 썬"이며 지역이 마포구인 곳을 검색
vegans = Vegan.query.filter((Vegan.shop == "카페 썬") & (Vegan.region == '마포구')) vegan_and = " ".join(i.shop for i in vegans) print(f"vegan_and: {vegan_and}")
이름이 "카페 썬"이거나 지역이 마포구인 곳을 검색
vegans = Vegan.query.filter((Vegan.shop == "카페 썬") | (Vegan.region == '마포구')) vegan_or = " ".join(i.shop for i in vegans) print(f"vegan_or: {vegan_or}")
지역순으로 정렬하여 검색 (기본 = 오름차순)
vegans = Vegan.query.order_by(Vegan.region) vegan_order_by = " ".join(i.region for i in vegans) print(f"vegan_order_by: {vegan_order_by}")
지역을 내림차순으로 정렬하되, limit_num의 크기만큼 반환 [ 내림차 순을 위해 desc() 추가 ]
limit_num = 5 vegans = Vegan.query.order_by(Vegan.region.desc()).limit(limit_num) vegan_limit = " ".join(i.region for i in vegans) print(f"vegan_limit: {vegan_limit}")
나이를 내림차순으로 정렬하되, off_set 크기만큼 앞에서 부터 생략하고 반환
off_set = 5 vegans = Vegan.query.order_by(Vegan.region.desc()).offset(off_set) vegan_offset = " ".join(i.region for i in vegans) print(f"vegan_offset: {vegan_offset}")
지역을 내림차순으로 정렬하고 나오는 튜플 수를 반환
vegans = Vegan.query.order_by(Vegan.region.desc()).count() vegan_count = str(vegans) print(f"vegan_count: {vegan_count}")

반응형
'Study > Python' 카테고리의 다른 글
[Python] Kakao API를 이용하여 주소를 이용해 위도, 경도 알아내기 (0) | 2021.12.30 |
---|---|
[Python] Kakao API를 이용하여 주소를 이용해 위도, 경도 알아내기 (0) | 2021.12.30 |
[ Python ] pymongo에서 문자열 포함 여부를 확인하는 방법 (0) | 2021.12.27 |
[Python] 크롤링과 스크래핑 ( crawling, scraping ) #2 [ BeutifulSoup : bs4 ] (0) | 2021.12.20 |
[Python] 크롤링과 스크래핑 ( crawling, scraping ) #1 [ requests] (0) | 2021.12.20 |