Django を MySQL データベースに接続する
データベースを操作する場合、リストには多くのオプションがあります。MySQL、PostgreSQL、SQL Server、SQLite、MariaDB などのリレーショナルデータベースまたは SQL データベースと、MongoDB や RedisCouchbase などの非リレーショナルデータベースまたは非 SQL データベースから選択できます。
Django は本格的な堅牢な Web フレームワークであるため、ほぼすべてのデータベースと互換性があります。私たちの側で追加の作業を行う必要があるかもしれませんし、特定のデータベース用のプラグインやアプリケーションを使用する必要があるかもしれませんが、Django の公式は PostgreSQL、MariaDB、MySQL、Oracle、SQLite をサポートしています。
この記事では、MySQL を Django に接続する方法について説明します。
MySQL を Django に接続するための初期設定
接続設定を続行する前に、システムに MySQL がセットアップされていることを確認してください。接続するアカウントが作成され、データベースが作成されていることを確認してください。
さらに、Python(3.X バージョン)を使用してデータベースと対話するには、MySQL クライアントも必要になります。
MySQL クライアントは、次の pip
コマンドを使用してダウンロードできます。
pip install mysqlclient
または、
pip3 install mysqlclient
DjangoMySQL 接続設定
Django は、デフォルトで SQLite データベースを使用します。同じの接続設定は次のようになります。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": BASE_DIR / "db.sqlite3",
}
}
Django を MySQL データベースに接続するには、次の設定を使用する必要があります。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "databaseName",
"USER": "databaseUser",
"PASSWORD": "databasePassword",
"HOST": "localhost",
"PORT": "portNumber",
}
}
MySQL データベースの ENGINE
キーはさまざまです。それとは別に、USER
、PASSWORD
、HOST
、PORT
などのいくつかの追加キーがあります。
NAME |
このキーは、MySQL データベースの名前を格納します。 |
USER |
このキーには、MySQL データベースの接続に使用する MySQL アカウントのユーザー名が格納されます。 |
PASSWORD |
このキーには、その MySQL アカウントのパスワードが格納されます。 |
HOST |
このキーは、MySQL データベースがホストされている IP アドレスを格納します。 |
PORT |
このキーは、MySQL データベースがホストされているポート番号を格納します。 |
最後に、python manage.py makemigrations
と python manage.py migrate
を使用して必要な移行を行い、セットアップを完了します。