PythonではORMフレームワークとしてSQLAlchemyを使用
1669 ワード
SQLAlchemyはPythonで最も有名なORMフレームワークです.
SQLAlchemyのインストール:
SQLAlchemyをインポートし、DBSessionを初期化します.
データベース・テーブルにレコードを追加するには、次の手順に従います.
クエリーデータ:
1対の複数の関係を定義するには、次のようにします.
SQLAlchemyのインストール:
$ pip install sqlalchemy
SQLAlchemyをインポートし、DBSessionを初期化します.
from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# :
Base = declarative_base()
# User :
class User(Base):
# :
__tablename__ = 'user'
# :
id = Column(String(20), primary_key=True)
name = Column(String(20))
# :
engine = create_engine('mysql+mysqlconnector://root:root@localhost:3306/test')
# DBSession :
DBSession = sessionmaker(bind=engine)
データベース・テーブルにレコードを追加するには、次の手順に従います.
# session :
session = DBSession()
# User :
new_user = User(id='5', name='Bob')
# session:
session.add(new_user)
# :
session.commit()
# session:
session.close()
クエリーデータ:
# Session :
session = DBSession()
# Query :
user = session.query(User).filter(User.id=='5').one()
# name :
print('type:', type(user))
print('name:', user.name)
# Session:
session.close()
1対の複数の関係を定義するには、次のようにします.
class User(Base):
__tablename__ = 'user'
id = Column(String(20), primary_key=True)
name = Column(String(20))
# :
books = relationship('Book')
class Book(Base):
__tablename__ = 'book'
id = Column(String(20), primary_key=True)
name = Column(String(20))
# “ ” user :
user_id = Column(String(20), ForeignKey('user.id'))