인터넷 기술의 급속한 발전으로 데이터베이스 애플리케이션이 점점 더 널리 보급되었으며, 가장 널리 사용되는 애플리케이션은 MySql입니다. 안정적이고 안전하며 사용하기 쉬운 고성능 관계형 데이터베이스인 MySql의 애플리케이션 범위는 다양한 시나리오를 포괄합니다. 전자상거래, 금융, 전기, 농업 등 다양한 분야에서 MySql의 역할은 점점 더 중요해지고 있습니다.
그러나 실제 개발 과정에서는 복잡한 데이터 작업을 수행해야 하는 경우가 많습니다. 이때 간단한 MySql 쿼리 문은 우리의 요구 사항을 충족하지 못할 수 있습니다. 이때 데이터 조작을 구현하려면 좀 더 발전된 기술을 사용해야 합니다. 이때 ORM 프레임워크가 탄생했습니다.
ORM 프레임워크 또는 객체 관계형 매핑 프레임워크는 관계형 데이터베이스의 테이블을 객체 지향 프로그래밍의 클래스에 매핑하는 기술입니다. ORM 프레임워크는 다양한 데이터베이스 작업을 보다 효율적으로 수행하는 데 도움이 되며 Java, Python 등과 같은 다양한 프로그래밍 언어에서 사용할 수 있습니다. 아래에서는 MySql 및 ORM 프레임워크를 사용하여 데이터베이스 작업을 보다 효율적으로 구현하는 방법을 소개합니다.
1. MySql을 사용하여 데이터 추가, 삭제, 수정 및 확인
먼저 MySql을 사용하여 데이터를 추가, 삭제, 수정 및 확인하는 방법을 살펴보겠습니다. MySql은 데이터베이스에서 다양한 작업을 수행하는 데 쉽게 사용할 수 있는 매우 간단한 SQL 문을 제공합니다. 예를 들어 다음은 간단한 학생 정보 테이블입니다.
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30), age INT );
다음 SQL 문을 사용하여 테이블에 데이터 조각을 삽입할 수 있습니다.
INSERT INTO student(name, age) VALUES('Tom', 18);
쿼리 작업에 다음 SQL 문을 사용합니다.
SELECT * FROM student WHERE name = 'Tom';
다음을 사용합니다. 업데이트 작업을 위한 SQL 문:
UPDATE student SET age=19 WHERE name='Tom';
삭제 작업을 수행하려면 다음 SQL 문을 사용하세요.
DELETE FROM student WHERE name='Tom';
MySql을 데이터 작업에 사용하는 것은 간단하지만 좀 더 복잡한 작업을 구현해야 하는 경우 몇 가지 고급 기술을 사용해야 합니다.
2. ORM 프레임워크를 사용하여 데이터 추가, 삭제, 수정 및 확인
ORM 프레임워크를 사용하면 데이터베이스 작업을 보다 효율적으로 수행할 수 있습니다. 다음으로 Python의 ORM 프레임워크인 SQLAlchemy를 사용하여 데이터베이스 작업을 수행하는 방법을 보여 드리겠습니다.
먼저 SQLAlchemy를 설치해야 합니다. 다음 명령을 사용하여 설치하십시오.
pip install sqlalchemy
데이터베이스에 연결할 때 다음 코드를 사용해야 합니다.
from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://user:password@host:port/database_name?charset=utf8')
여기서 user는 MySqL 데이터베이스의 사용자 이름입니다. 비밀번호는 비밀번호입니다. ; 호스트는 호스트 이름이고, 포트는 포트 번호이고, 데이터베이스_이름은 연결될 데이터베이스의 이름입니다. 여기서는 utf8을 사용합니다.
ORM 모델과 테이블 간의 매핑 관계를 정의해야 합니다. 예를 들어 학생 정보 테이블에 대한 테이블 모델을 정의합니다.
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String Base = declarative_base() class Student(Base): __tablename__ = 'student' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(30)) age = Column(Integer)
여기서는 SQLAlchemy에서 제공하는 declarative_base() 기본 클래스를 사용하여 테이블 모델 클래스를 정의한 다음 필드 이름을 정의합니다. Student 클래스의 테이블 유형. 여기서는 해당 테이블 이름인 __tablename__을 지정해야 합니다.
세션을 생성할 때는 먼저 세션 팩토리를 생성한 후 세션 팩토리를 사용하여 세션을 생성해야 합니다. 아래와 같이
from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind=engine) session = Session()
그 중 sessionmaker(bind=engine)은 create_engine이 반환한 엔진을 사용하여 Sessionmaker를 바인딩하는 것을 의미합니다. 그런 다음 세션을 사용하여 작업을 위해 데이터베이스에 액세스할 수 있습니다.
다음으로 추가, 삭제, 수정 및 확인 작업을 각각 수행하는 방법을 보여 드리겠습니다.
(1) 데이터 추가
다음 코드를 사용하여 데이터를 추가합니다.
student = Student(name='Tom', age=18) session.add(student) session.commit()
이 예에서는 Student 객체를 생성하여 세션에 추가하고 session.commit() 메서드를 사용하여 데이터를 제출하는 방법을 보여줍니다. 데이터베이스 중간. session.commit() 메서드가 호출되지 않으면 데이터가 데이터베이스에 제출되지 않습니다.
(2) 데이터 쿼리
다음 코드를 사용하여 데이터를 쿼리합니다.
results = session.query(Student).filter(Student.name=='Tom').all() for result in results: print(result.id, result.name, result.age)
이 예에서는 세션을 사용하여 테이블을 쿼리하는 방법을 보여줍니다. 여기서 쿼리(Student)는 Student 테이블, 필터(Student.name=에서 작업하는 것을 의미합니다. ='Tom')은 이름 필드가 Tom과 동일한 데이터를 필터링한다는 의미이고, all()은 모든 데이터를 쿼리한다는 의미입니다.
(3) 데이터 수정
다음 코드를 사용하여 데이터를 수정합니다.
update_student = session.query(Student).filter(Student.name=='Tom').first() update_student.age = 19 session.commit()
이 예에서는 조건을 충족하는 첫 번째 데이터 조각을 수정하고, 데이터의 age 값을 19로 변경하고, session.commit() 메서드를 사용하여 수정된 데이터를 제출합니다.
(4) 데이터 삭제
데이터를 삭제하려면 다음 코드를 사용하세요.
delete_student = session.query(Student).filter(Student.name=='Tom').first() session.delete(delete_student) session.commit()
이 예에서는 조건을 충족하는 첫 번째 데이터 조각을 삭제하고 session.commit() 메서드를 사용하여 삭제된 데이터를 제출하는 방법을 보여줍니다.
이 시점에서는 Python과 SQLAlchemy를 사용하여 데이터베이스를 보다 효율적으로 관리할 수 있습니다.
요약:
일반적으로 사용되는 관계형 데이터베이스인 MySql은 사용이 간단하고 직관적이지만 복잡한 작업에는 고급 기술을 사용해야 할 수 있습니다. ORM 프레임워크는 복잡한 데이터베이스 작업을 보다 효율적으로 수행하는 데 도움이 될 수 있으며 Python 및 SQLAlchemy를 사용하면 일상 업무에서 데이터베이스 요구 사항에 더 잘 대처하는 데 도움이 될 수 있습니다. 이 기사가 여러분이 MySql 및 ORM 프레임워크 사용을 더 잘 익히는 데 도움이 되기를 바랍니다.
위 내용은 MySql 및 ORM 프레임워크: 데이터베이스 작업을 보다 효율적으로 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!