Pythonでのデータベース操作には、ORM (Object Relational Mapper) がよく利用されます。ORMは、テーブルとクラスを1対1に対応させて、そのクラスのメソッド経由でデータを取得したり、変更したりできるようにする存在です。
PythonのORMの一つであるSQLAlchemyは、DBの種類によらず、同じソースコードで操作できるので、複数のDBを併用する場合や、DBを変更する場合にも、コードの書き換えの必要がないという利点があります。また、SQLAlchemyを使うと、SQLを直接記述することなしに、DBを”Pythonic”に操作できます。
以下に、SQLAlchemyを使った簡単なDB操作の例を示します。
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.schema import Column
from sqlalchemy.types import Integer, String
engine = create_engine("mysql://scott:tiger@localhost/foo")
Base = declarative_base()
class User(Base):
__tablename__ = "user"
user_id = Column(Integer, primary_key=True)
first_name = Column(String(255))
last_name = Column(String(255))
age = Column(Integer)
def full_name(self):
return f"{self.first_name} {self.last_name}"
このコードでは、まずDBエンジンを作成し、次にモデルベースクラスを作成しています。そして、このベースクラスを拡張することで、ORMで扱えるモデルクラスを作成しています。
AWS Lambdaでも、DjangoのORMをライブラリとして利用することが可能です。これにより、AWS Lambdaの中でデータベース操作を行うことができます。
以上のように、PythonとLambda ORMを活用することで、効率的なデータベース操作を行うことが可能です。.