Python SQLAlchemyの使い方のサンプル

環境
Windows 11 Pro 64bit
Python 3.11

概要
SQLAlchemyを利用して、基本的なORM操作(INSERT, SELECT, UPDATE, DELETE)を確認します。

ファイル構成

.
└── sql
    ├── main.py          # ORM操作をします。
    ├── models
    │   └── user.py      # userテーブルの定義をします。
    └── setting
        └── setting.py   # Engineインスタンス, session生成など行います。

操作方法
1.パッケージインストール
DBにmysqlを利用するので、ドライバとして mysqlclient をインストールします。
pipenv install sqlalchemy
pipenv install mysqlclient

2.DB接続に必要な設定を行います。

from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base

dialect = "mysql"
driver = "mysqldb"
username = "root"
password = "pwd11"
host = "192.168.11.22"
port = "3306"
database = "test_db"
charset_type = "utf8"
db_url = f"{dialect}+{driver}://{username}:{password}@{host}:{port}/{database}?charset={charset_type}"

# DB接続するためのEngineインスタンス
ENGINE = create_engine(db_url, echo=True)

# DBに対してORM操作するときに利用
# Sessionを通じて操作を行う
session = scoped_session(
    sessionmaker(autocommit=False, autoflush=False, bind=ENGINE)
)

# 各modelで利用
# classとDBをMapping
Base = declarative_base()

 

IT

Posted by arkgame