テーブル詳細の確認
census テーブルのリフレクション、お見事です! ここからは、テーブルの列や構造についてさらに理解を深めていきます。データベースを理解するうえで、まずは列名を確認することが重要です。これは .columns 属性に対して .keys() メソッドを呼ぶことで行えます。たとえば、census.columns.keys() は census テーブルの列名のリストを返します。
続いて、リフレクトされたテーブルについて、列やその型といった詳細を知るにはメタデータコンテナを使います。たとえば、テーブルオブジェクトに関する情報は metadata.tables 辞書に保存されているので、metadata.tables['census'] で census テーブルのメタデータを取得できます。これは、前の演習で census テーブルに対して repr() 関数を使ったのと同じような考え方です。
前の演習で作成したエンジンへの接続コードとメタデータの初期化コードは、今回が最後の表示になります。今後は第5章まで、これらは基本的に裏側で処理されます。
この演習はコースの一部です
Pythonで学ぶデータベース入門
演習の手順
- 直前の演習と同様に、
Table()関数を使ってcensusテーブルをリフレクトしてください。 census.columnsに.keys()メソッドを適用して、censusテーブルの列名のリストを表示してください。metadata.tables辞書とrepr()関数を使って、censusテーブルの詳細を表示してください。具体的には、まずmetadata.tables辞書の'census'キーにアクセスし、それを用意されたrepr()関数に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sqlalchemy import create_engine, MetaData, Table
engine = create_engine('sqlite:///census.sqlite')
metadata = MetaData()
# Reflect the census table from the engine: census
census = ____(____, ____, autoload=____, autoload_with=____)
# Print the column names
print(____)
# Print full metadata of census
print(repr(____))