Flask SQLAlchemy에서 레코드 삭제

Haider Ali 2023년12월11일
  1. Flask SQLAlchemy 사용
  2. Flask SQLAlchemy에서 레코드 삭제
Flask SQLAlchemy에서 레코드 삭제

이 가이드에서는 SQLAlchemy가 무엇인지, 시스템에서 SQLAlchemy를 다운로드하는 방법 및 구현 방법을 살펴봅니다. 또한 SQLAlchemy에서 delete 기능이 어떻게 사용되는지 보여줍니다.

Flask SQLAlchemy 사용

응용 프로그램 개발자는 SQLAlchemy를 사용하여 Python SQL 도구 키트 및 개체 관계 매퍼를 통해 SQL의 기능과 유연성을 최대한 활용할 수 있습니다. 고성능 및 효율적인 데이터베이스 액세스를 위해 설계된 완벽한 엔터프라이즈 지속성 패턴 제품군을 제공하는 사용하기 쉬운 Python 도메인 언어입니다.

SQLAlchemy에는 SQLite, PostgreSQL, MySQL, Oracle, MS-SQL, Firebird, Sybase 등을 위한 방언이 포함되어 있습니다. Python 2.5 이상을 지원합니다.

기타 지원되는 플랫폼에는 Jython 및 Pypy가 있습니다.

SQLAlchemy의 매우 유명한 예는 Yelp입니다!

이것을 사용하는 큰 장점은 데이터베이스 때문입니다. 우리는 Python 코드를 변경할 필요가 없고 데이터베이스의 URI만 변경할 필요가 있습니다. 여기서 URI는 URL과 같지만 데이터베이스용입니다.

Flask SQLAlchemy 다운로드

시스템에 SQLAlchemy를 설치하는 데 사용되는 간단한 명령이 있습니다. 자세한 사항은 여기를 클릭하시면 홈페이지에서 확인하실 수 있습니다.

pip install flask-sqlalchemy

이를 설치한 후 제공된 기능을 사용하기 위해 flask_sqlalchemy 라이브러리에서 SQLAlchemy를 가져옵니다.

Flask SQLAlchemy에서 레코드 삭제

SQLAlchemy의 기능 중 하나인 delete()는 프런트엔드에서 백엔드로 데이터를 삭제하는 작업입니다.

SQLAlchemy는 delete() 작업을 사용하여 데이터베이스 테이블에서 데이터를 제거합니다. 데이터베이스를 생성할 때 엔진을 사용하여 유사한 개체 및 인스턴스가 생성됩니다.

다음은 예제 코드에서 사용되는 중요한 함수입니다.

고객 기능

이 함수의 유일한 목적은 데이터베이스에 테이블을 만드는 것입니다. 이 기능을 사용하여 객체를 추가하고 삭제할 수 있습니다.

추가 설명은 아래에서 제공됩니다.

세션 기초

각 쿼리는 향후 참조를 용이하게 하기 위해 데이터의 보관 영역으로 사용되는 세션 ID를 생성합니다. 간단히 말해서 세션은 데이터베이스와의 모든 상호 작용을 설정하고 수명 동안 사용한 모든 개체를 저장합니다.

이 가이드의 끝에 제공된 예제에서는 Session에서 session.add(), session.delete()session.commit()의 세 가지 호출을 사용합니다.

session.add()session.delete() 호출은 해당 매개변수에 언급된 특정 객체를 추가 및 삭제하는 데 사용됩니다. 일반적으로 session.commit()을 사용할 때까지 처음에는 근거 없는 형식으로 시작한 다음 제공된 데이터를 저장합니다.

session.commit() 호출

모든 작업이 성공하면 이 호출이 실행된 다음 제공된 모든 데이터를 계속 저장합니다. 그러나 작업이 실행되지 않거나 예외가 표시되면 session.rollback() 호출이 수행된 트랜잭션을 롤백합니다.

그러나 우리는 session.commit()에 대해서만 알아야 하므로 이 호출을 조사하지 않습니다.

아래는 위에서 언급한 호출을 사용하는 코드의 예이며 데이터베이스에서 데이터를 삭제하거나 제거하는 방법을 보여줍니다.

삽입 기능

이 함수는 Customer 클래스에서 생성된 테이블에 새 객체를 생성합니다. 매개변수에 제공된 객체를 삽입하기 위해 session.add() 호출을 호출합니다.

그런 다음 session.commit()을 사용하여 업데이트된 테이블을 데이터베이스에 저장합니다.

삭제 기능

이 기능은 삽입 기능의 반대입니다. 이 함수는 매개변수에 제공된 개체를 삭제하는 데 사용됩니다.

여기에서 session.delete()를 사용하여 지정된 객체를 삭제한 다음 session.commit()을 사용하여 업데이트된 테이블을 데이터베이스에 저장합니다.

여기서 configuri를 통해 데이터베이스를 지정하는 데 사용됩니다. 데이터베이스의 uri만 추가하면 됩니다.

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# TODO Specify Your DataBase Uri
# TODO Specify Your DataBase Uriapp.config['SQLALCHEMY_DATABASE_URI'] =

# initiating the sqlalchemy object
db = SQLAlchemy(app)


class Customer(db.Model):  # a table is being created here
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    address = db.Column(db.String(200))
    email = db.Column(db.String(50))

    def __init__(self, id, name, address, email):
        self.id = id
        self.name = name
        self.address = address
        self.email = email


def insert(id, name, address, email):
    # create the object of model class
    c1 = Customer(id, name, address, email)
    db.session.add(c1)
    db.session.commit()

    return "Customer Added Successfully"


def delete(self, id):  # Data is being deleted here
    dc = Customerque.ry.get(id)
    db.session.delete(dc)
    db.session.commit()

    return "Customer Deleted SuccessFully"

이 예에서는 이러한 기능을 수행하기 위해 데이터베이스 URI를 제공해야 합니다. URI를 제공한 후 Customer 클래스가 실행되어 작업할 테이블을 생성합니다.

그런 다음 insert 기능을 통해 원하는 만큼 객체를 생성할 수 있으며 delete 기능은 필요한 객체(있는 경우)를 삭제합니다.

작가: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

관련 문장 - Flask SQLAlchemy