1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶデータベース入門

Connected

演習

SQLAlchemy でテーブルを作成する

これまでに、Table オブジェクトを使って既存のデータベースからテーブルをリフレクトしました。では、新しいテーブルを作成したい場合はどうすればよいでしょうか?この場合も Table オブジェクトを使いますが、autoload と autoload_with のパラメータを Column オブジェクトに置き換える必要があります。

Column オブジェクトは、名前、任意のフォーマットを伴う SQLAlchemy の型、そして制約のための任意のキーワード引数を受け取ります。

テーブルを定義するとき、動画で Jason が Column('name', String(255)) のようにして String の最大長として 255 を渡していたことを思い出してください。動画のスライドを見直すのも役立ちます。

テーブルを定義したら、メタデータの .create_all() メソッドを使い、エンジンを唯一の引数として渡すことで、データベースにテーブルを作成できます。さっそくやってみましょう!

指示

100 XP
  • sqlalchemy から Table、Column、String、Integer、Float、Boolean をインポートします。
  • data という名前の新しいテーブルを作成し、列 'name'(String(255))、'count'(Integer())、'amount'(Float())、'valid'(Boolean())を定義します。Table() の第2引数は、すでに初期化済みの metadata である必要があります。
  • metadata.create_all() に engine を渡して、データベースにテーブルを作成します。