始める無料で始める

MySQL データベースへの接続

計算の演習に入る前に、まずはデータベースへの接続から始めましょう。前の章では PostgreSQL データベースに接続しました。ここでは MySQL データベースに接続します。多くの人は、PostgreSQL での psycopg2 と同様に、事前にインストールが必要な pymysql データベースドライバーを使用します。

接続文字列は 'mysql+pymysql://' から始まり、どのダイアレクトとドライバーを使って接続するかを示します。ダイアレクトの後に 'username:password' の組み合わせが続きます。次に、'@host:port/' でホストとポートを指定します。最後に 'database_name' で接続先のデータベース名を指定して完了です。

それでは MySQL データベースへの接続を練習しましょう。対象は、これまで扱ってきたのと同じ census データベースです。SQLAlchemy の優れている点は、一度接続してしまえば接続先データベースの種類を抽象化してくれるため、どのデータベースでも同じ SQLAlchemy のコードを書けることです。

この演習はコースの一部です

Pythonで学ぶデータベース入門

コースを見る

演習の手順

  • sqlalchemy ライブラリから create_engine 関数をインポートします。
  • 次の文字列を連結して create_engine() に渡し、census データベースへのエンジンを作成します。
    • 'mysql+pymysql://'(ダイアレクトとドライバー)
    • 'student:datacamp'(ユーザー名とパスワード)
    • '@courses.csrrinzqubik.us-east-1.rds.amazonaws.com:3306/'(ホストとポート)
    • 'census'(データベース名)
  • engine に対して .table_names() メソッドを使い、テーブル名を表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import create_engine function
from sqlalchemy import create_engine

# Create an engine to the census database
engine = create_engine(____)

# Print the table names
print(____)
コードを編集して実行