制約とデータのデフォルト値
ここでは制約付きのテーブル作成を練習します! 多くの場合、ある列を一意にしたり、NULL を許可したり、正の値に限定したり、別のテーブルの列と関連付けたりする必要があります。こうしたときに使うのが制約です。
動画で Jason が紹介したように、制約に加えて、default キーワードを列に指定することで、値が渡されなかった場合のデフォルト値も設定できます。
この演習はコースの一部です
Pythonで学ぶデータベース入門
演習の手順
Table、Column、String、Integer、Float、Booleanはすでにsqlalchemyからインポートされています。dataという新しいテーブルを作成します。name(String)は一意、count(Integer)はデフォルトを1、amount(Float)、valid(Boolean)はデフォルトをFalseにします。- データベースにテーブルを作成し、
dataのテーブル詳細を出力するために回答を提出してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import Table, Column, String, Integer, Float, Boolean from sqlalchemy
from sqlalchemy import Table, Column, String, Integer, Float, Boolean
# Define a new table with a name, count, amount, and valid column: data
data = Table('data', metadata,
Column('name', String(255), unique=____),
Column('count', Integer(), default=____),
Column('amount', Float()),
Column('valid', Boolean(), default=____)
)
# Use the metadata to create the table
metadata.create_all(engine)
# Print the table details
print(repr(metadata.tables['data']))