본문 바로가기

SQLAlchemy4

SQLAlchemy - filter + 조회 예시 SQLAlchemy 를 사용하고 있으나 filter 에 관련된 사용법을 정리할 필요가 있어서 작성한다. ORM(Object Relational Mapping) 라이브러리인 SQLAlchemy 객체 지향 프로그래밍과 관계형 데이터베이스의 데이터를 맵핑하기 위해서 사용된다. 특히 filter 메서드는 ORM을 사용할 때 where 절처럼 쿼리문의 조건문을 작성해줄 때 사용해준다. 모델클래스.query.filter() 형태로 사용되며 filter 메서드까지만 사용해주면 쿼리문의 결과가 나올 것이라는 예상과 달리 쿼리문 자체로 콘솔에 보이게 된다. 비슷한 용법으로 filter_by 도 있지만 사용법이 조금 상이하고 제한적이라 대표적으로 filter만 정리한다. 기본 사용법 Select * from 테이블명 wh.. 2024. 3. 7.
Flask + PostgreSQL + React - 2 https://youtu.be/EAcD5ueqvHQ?si=tJ21_L9IAaKYkDID 저번 강의에서 간단하게나마 백엔드 구성이 끝났다. 플라스크와 SQLAlchemy, pgcopg2 를 활용하여 간단하게 이벤트 테이블의 모델을 만든 다음 CRUD를 구성했다. Frontend 구성하기 요즘 리액트 프로젝트는 vite 를 쓰는게 대세지만 예전 강의 특성상 cra을 쓰고 있다. 일단은 강의에 따라가기 위해 오랜만에 cra를 사용하고, axios 와 date-fns 를 다운 받아준다. date-fns 기존의 날짜/시간 관련 라이브러리는 day.js 만 알고 있었는데 해당 라이브러리를 새로이 알게 되었다. https://www.npmjs.com/package/date-fns date-fns Modern Java.. 2024. 3. 6.
flask 웹개발 기초 정리 - 3 (feat. SQLAlchemy) SQLAlchemy 계속 ORM Query 전 게시글에서 다뤘듯이 클래스명으로 쿼리에 접근하거나 세션으로 쿼리를 접근하든, 아래의 쿼리 실행문은 동일한 결과를 도출한다. Class.query.filter... db_session.query(Class).filter... filter 를 줄 때 변수명 앞에 : 을 사용하여 아래처럼 문자열 SQL 조건문을 작성해줄 수 있다. User.query.filter("id < :val").params(val=10) :변수명 형태로 사용하여 params 메서드에 인자로 받고 값을 대입해줄 수 있다. filter 와 filter_by 둘의 쓰임새는 조건문을 처리해주는 것이다. 다만 filter 메서드는 인자로 Column 객체나 표현식을 받아서 처리해줘야 하지만 filt.. 2024. 2. 28.
flask 웹개발 기초 정리 - 2 (feat. SQLAlchemy) SQLAlchemy RDBMS ORM(Object Relational Mapping) 으로, DBMS의 데이터베이스 구조를 파이썬의 클래스(객체)화 시키는 라이브러리이다. 객체 지향적인 코드, 즉 SQL문 대신 클래스처럼 사용할 수 있게 도와준다. 특히 DBMS 종속성이 줄어든다는 장점이 존재한다. 다만 ORM만으로 서비스 구현이 어렵다는 점과 프로시저가 많으면 장점이 무색해진다는 단점도 있다. https://www.sqlalchemy.org/ SQLAlchemy The Database Toolkit for Python www.sqlalchemy.org ORM (Object Relational Mapping) 직관적으로 해석하자면 객체 관계 맵핑을 의미한다. 즉 객체와 관계형 데이터베이스를 자동으로 연결.. 2024. 2. 27.