HOWTO · Flask
Flask SQLAlchemy에서 레코드 삭제
이 가이드에서는 SQLAlchemy가 무엇인지, 시스템에서 SQLAlchemy를 다운로드하는 방법 및 구현 방법을 살펴봅니다. 또한 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()을 사용하여 업데이트된 테이블을 데이터베이스에 저장합니다.
여기서 config는 uri를 통해 데이터베이스를 지정하는 데 사용됩니다. 데이터베이스의 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 기능은 필요한 객체(있는 경우)를 삭제합니다.