SQLAlchemy ORM을 통해 Python 및 MySQL 데이터베이스의 원활한 통합을 살펴봅니다. 효율적인 데이터 관리를 위해 Python의 강력한 도구와 모범 사례를 활용하고, MySQL의 단순성과 SQLAlchemy의 유연성을 결합하여 데이터베이스 작업을 개선하는 방법을 알아봅니다.

• Python 3
• Python 3.12

Equipment list

Here you can find the list of equipment used to create this tutorial.

This link will also show the software list used to create this tutorial.

관련 튜토리얼 – 파이썬

이 페이지에서 파이썬과 관련된 자습서 목록에 빠르게 액세스할 수 있습니다.

ORM이란 무엇입니까?

ORM은 Object-Relational Mapping의 약자입니다. 객체 지향 프로그래밍 언어에서 호환되지 않는 시스템 간에 데이터를 변환할 수 있는 프로그래밍 기술입니다. 데이터베이스의 컨텍스트에서 ORM은 관계형 데이터베이스 관리 시스템의 테이블에 개체를 매핑하는 데 사용됩니다.

파이썬에서 ORM을 사용하는 이유는 무엇입니까?

Python의 ORM은 기본 SQL 문을 추상화하고 개발자가 코드에서 직접 객체로 작업할 수 있도록 하여 데이터베이스와 상호 작용하는 편리한 방법을 제공합니다. 이렇게 하면 데이터베이스 작업이 간소화되고, 코드 이식성이 향상되고, SQL 삽입 공격을 방지하여 보안이 향상되고, 데이터베이스 쿼리에 대한 명확하고 간결한 구문을 제공하여 코드 유지 관리가 용이해지고, 별도의 데이터베이스 설정 없이 메모리에서 개체를 조작할 수 있으므로 단위 테스트가 더 쉬워집니다.

SQLAlchemy란 무엇입니까?

SQLAlchemy는 Python 프로그래밍 언어용 오픈 소스 SQL 툴킷 및 ORM(Object-Relational Mapping) 라이브러리입니다. 관계형 데이터베이스 작업을 위한 포괄적인 도구 세트를 제공하여 개발자가 Python 개체를 사용하여 데이터베이스와 상호 작용할 수 있도록 합니다. SQLAlchemy의 핵심은 SQL 문을 만들고 실행할 수 있는 SQL 표현식 언어를 제공하는 반면, ORM은 Python 클래스를 데이터베이스 테이블에 쉽게 매핑하여 개발자가 데이터베이스 행을 객체로 사용할 수 있도록 합니다.

튜토리얼 Python – SQLAlchemy ORM을 사용하는 MySQL 데이터베이스

MySQL 데이터베이스를 설치합니다.

Copy to Clipboard

이 예에서는 Linux를 실행하는 컴퓨터에 설치했습니다.

ROOT 사용자로 MySQL 서비스에 액세스합니다.

Copy to Clipboard

데이터베이스를 만듭니다.

Copy to Clipboard

사용자 계정을 만듭니다.

Copy to Clipboard

생성된 데이터베이스에 대한 권한을 이 사용자 계정에 부여합니다.

Copy to Clipboard

MY_PYTHON_USER 계정은 DRAGONBALLZ 데이터베이스에 액세스할 수 있습니다.

새 계정을 사용하여 데이터베이스에 대한 MySQL 연결을 테스트합니다.

Copy to Clipboard

바탕 화면에서 PIP를 사용하여 SQLAlchemy를 설치합니다.

Copy to Clipboard

MySQL 서버에 연결하는 데 필요한 Python 패키지를 설치합니다.

Copy to Clipboard

Python 파일을 만듭니다.

Copy to Clipboard

SQLAlchemy에서 모듈 및 기능을 가져옵니다.

Copy to Clipboard

데이터베이스에 대한 연결을 설정합니다.

Copy to Clipboard

SQLAlchemy 엔진은 데이터베이스에 대한 연결을 설정하는 데 사용됩니다.

ECHO 인수는 선택 사항이며 수행된 모든 SQL 작업을 화면에 표시하는 데 사용됩니다.

모델을 선언하는 기본 클래스를 만듭니다.

Copy to Clipboard

테이블에 대한 모델을 정의합니다.

Copy to Clipboard

데이터베이스에 테이블을 만듭니다.

Copy to Clipboard

이렇게 하면 연결된 MySQL 데이터베이스에 테이블이 생성됩니다. 자동 증가로 설정된 기본 키인 ID, NAME, SPECIAL_MOVE, SS_LEVEL 및 EYE_COLOR의 5개 열로 테이블 구조를 정의합니다.

데이터베이스와 상호 작용하기 전에 세션을 만들어야 합니다.

Copy to Clipboard

테이블에 데이터를 삽입합니다.

Copy to Clipboard

테이블에 변경 사항을 저장합니다.

Copy to Clipboard

테이블에 저장된 모든 정보를 쿼리합니다.

Copy to Clipboard

검색된 정보를 표시합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

검색된 정보를 형식화된 문자열로 표시합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

필요에 따라 특정 필드에 대해서만 쿼리합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

데이터베이스에 대한 연결을 닫습니다.

Copy to Clipboard

다음은 완전한 Python 스크립트입니다.

Copy to Clipboard

결론

SQLAlchemy ORM을 통합하면 Python에서 MySQL 데이터베이스 관리가 간소화되어 데이터 조작 효율성이 향상되고 원활한 객체 지향 경험을 제공합니다. 강력한 데이터 작업을 쉽게 수용합니다.