DjangoでのMySQLの使い方|インストールや接続、データ取得等を解説

スポンサーリンク

今回は、Webフレームワークと組み合わせて、Django MySQLの使い方を学びます。

スポンサーリンク

なぜ SQLite よりも MySQL なのか?

デフォルトの SQLite と比較して、MySQL はより安全で、高度に進化しています。

また、大量のデータを扱うことができるため、大規模に使用することができます

また、スピードに関しても、MySQLはより効率的かつ効果的に動作します。

Structured Query Language (構造化照会言語)

SQL を使用すると、データベースにアクセスし、操作することができます

これを使うと、次のようなさまざまな作業を行うことができます。

  • データベースへのレコードの追加
  • テーブルの作成
  • CRUD (Create、Read、Update、Delete) 操作の実行

SQLは、データベースシステムで使用される言語です。

データベースを適用して設定するには、MySQL、PostgreSQL、OracleなどのようなRDBMSのいずれかが必要です。

推奨 JournaldevのSQLチュートリアル

私たちのDjango開発でDjango MySQLを使用する

基本的なことがわかったので、今すぐ Django MySQL 開発を始める方法を理解しましょう。

提案します。

1. デモ用MySQLデータベース

以下は、今回のデモで使用するデモテーブルです。

ID 名前 都市名 国名
1|ロン|NY|USA
2|ドレイク|LA|USA|(米国
3 リチャード バイエルン ドイツ
4|ノエル|ラスベガス|米国
5|ジョーンズ|ミュンヘン|ドイツ||||||。
6|ケイン|NY|USA||の4つのフィールド。

DBテーブルここでは、4つのフィールドと6つのレコードがあります。

基本的なSQLステートメントです。

  • SELECT FROM – このステートメントは、テーブルからフィールド(すべてまたはいくつか)を選択します。
  • WHERE – これは一般的に他の文と一緒に使用される条件文です。このステートメントによって設定された条件を満たすこれらのレコードを使用して選択されます。
  • UPDATE – このステートメントは、テーブルを更新します。
  • EDIT – この文は、レコード/レコードのフィールドを編集します。
  • DELETE – この文は、レコード/レコードのフィールドを削除します。

2. サーバーにXAMPPをインストールする

さて、MySQLを使用するためには、Web上でMySQLの管理を行うためのソフトウェアツールを使用する必要があります。

多くのツールがありますが、今回は非常にシンプルで効率的な作業環境であるphpMyAdminを使用することにします。

XamppソフトウェアがPHPMyAdminのWebインターフェイスを提供してくれます。

そこで、phpMyAdminを使うために、まずXamppをダウンロードします。

XAMPPをダウンロードするにはここをクリックしてください。

あなたのOSとアーキテクチャに合ったバージョンをダウンロードしてください。

pip install mysqlclient

3. ApacheとMySQLを起動する

手順に沿ってXAMPPをインストールしたら、以下の2つのプロセスを開始します。

  • Apacheウェブサーバ – HTTPリクエストの処理用
  • MySQLサーバ – データベース用
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': <Database_name>,
        'USER':'root',
        'PASSWORD':'',
        'HOST':'localhost',
        'PORT': '3306',
    }
}

MySQLのデフォルトのポート番号は3306です。

その後、ブラウザで、https://localhost。

ホストのウェブページが表示されます。

python manage.py makemigrations
python manage.py migrate

右上のphpMyAdminをクリックすると、phpMyAdminのウェブインターフェイスが表示されます。

python manage.py runserver

ここで

  • 左の列で新規をクリックして、新しいデータベースを作成します。
  • データベースには適当な名前をつけてください。私は Django という名前にしました。
python manage.py createsuperuser

4. Python用MySQLクライアントパッケージのインストール

Mysqlclient は MySQL データベースシステム用の Python インターフェースです。


Django などの Python で使えるインターフェイスを MySQL に接続するには Mysqlclient が必要です。

pip コマンドを使用して mysqlclient パッケージをインストールします。

Xampp
Xampp

コネクタドライバをインストールしたら、settings.py でデータベース情報を変更する必要があります。

5. Django の settings.py でデータベースの設定をする

settings.py では、以下のように、テーブル、データベースエンジン、ユーザ認証、ホスト、ポートなど、データベース接続の詳細を設定する必要があります。

Xampp
Xampp

ここで

  • Engine: django.db.backends.mysql – Django MySQL を使っているので、ここで設定します。
  • 名前。名前: ここにデータベースの名前を入力します。
  • User: Xamppソフトウェアのデフォルトのユーザは “root “です。
  • パスワード:rootのデフォルトのパスワードは空です。
  • Host: Host:ホストは、localhostだけになります。
  • Port: 先ほどのMySQLのポート(3306)です。
Xampp Host Webpage
Xampp Host Webpage

6. Django MySQL を実装する

さて、Django で MySQL データベースを扱い始めなければなりません。

サーバをセットアップしましょう。

Phpmyadmin
Phpmyadmin

以上で、変更が保存されました。

これでサーバを動かして確認できます。

Django Database
Django Database

では、Django アプリケーションサーバを実行します。

DATABASES
DATABASES

ここで、管理サイトに移動しようとすると、Django はスーパーユーザに関するエラーメッセージを表示します。

これは、スーパーユーザの詳細、モデルテーブルのエントリが、全て先の DB SQLite にあり、MySQL にないためです。

そのため、ターミナルでスーパーユーザを再度作成し、テーブルの項目を追加し直す必要があります。

Database
Database

以上で、DjangoとMySQLの接続は完了です。

DBへのアイテムの追加

これは2つの方法で行うことができます。

管理サイトを経由する方法と、PHPMyAdminサイトを経由する方法です。

1) 管理サイトからのCRUD操作

これは、今までと同じ方法です。

ItemModelのアイテムの追加、編集、削除は、管理サイトを通して行います。

DBを変更したため、テーブル内のアイテムはすべて失われます。

そのため、管理サイトを利用して、いくつかのアイテムを追加します。

ItemModel via admin site
ItemModel via admin site

上記の情報は、自動的にMySQLのDBに追加されます。

phpMyAdmin サイトに行き、Django DB の ItemModel を選択します。

テーブルの中の全てのアイテムがそこにあることが確認できます。

ItemModel table via PHPMyAdmin
ItemModel table via PHPMyAdmin

2) phpMyAdminサイトによるCRUD操作

上記のphpMyAdminサイトでは、アイテムの追加、編集、削除のオプションがあります。

編集・削除:項目情報の他に、編集、削除のオプションがあります。

これを利用して、phpMyAdminサイトから編集や削除を行うことができます。

項目を追加します。

一番上に、INSERTオプションがあります。

そこに項目情報を追加してください。

Add
Add

項目情報を入力し、「go」をクリックします。

これで完了です。

ペンシルアイテムが追加されました。

管理画面だけでなく、ブラウズオプションでも確認することができます

MySQL
MySQL

管理サイトをリロードすると、新しいアイテムが表示されます。

Admin site
Admin site

Django で MySQL を使うことがいかに簡単かを見てみましょう。

まとめ

以上、皆さん! これは MySQL と Django との接続方法についての全てです。

練習として、MySQL をデータベースとして使ったウェブアプリを作ってみてください。

次回は、 PostgreSQL と Django の組み合わせについて説明します。

それまでは、公式ウェブサイトから MySQL についてもっと知ることができます。

安全でいてください !!! 学習を続けてください !!!

タイトルとURLをコピーしました