初心者向けのMySQLの使い方


こんにちは、コーダ.
本稿ではHow to use MySql with Django デフォルトのSQLiteデータベースから生産準備DBMS(MySQL)に切り替えます.このトピックは些細な課題のように聞こえるかもしれませんが、私のサポートセッションの間に、私は特に初心者からこの質問を繰り返しました.
初心者のために、Djangoは、Aを使っている専門家によって造られる主要なPythonウェブフレームワークですbateries-included コンセプト.このような成熟したフレームワークであるため、Djangoは、デフォルトのSQLiteデータベースからMySQL、PostgreSQL、またはOracleのような他のデータベースエンジンに切り替える簡単な方法を提供します.MySQLは強力なオープンソースリレーショナルデータベースです.情報が相関し、1つ以上のテーブルに保存されます.

Thanks for reading! - Content provided by App Generator.



データベースシステム
DJangoはジェネリックインターフェイスを使用して複数のデータベースバックエンドにアクセスするための一般的な方法を提供します.理論上、DjangoはSQLコードを更新することなくDBエンジンを切り替えるように私たちに権限を与えます.既定のSQLiteデータベースは、通常、小規模またはデモプロジェクトのすべての要件をカバーしていますが、生産用には、MySQLやPostgreSQLのような強力なデータベースエンジンが推奨されます.
データベースの設定はmanage.py ファイル.私のJjangoプロジェクトでは、このファイルはcore ディレクトリ
< PROJECT ROOT >
   |
   |-- manage.py         # Specify the settings file 
   | 
   |-- core/             # Implements app logic 
   |    |-- settings.py  # Django app bootstrapper
   |    |-- wsgi.py      # Start the app in production
   |    |-- urls.py      # Define URLs served by all apps/nodes
の内容を視覚化しましょうsettings.py データベースインターフェイスを設定するファイル.
# File: core/settings.py
...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME'  : 'db.sqlite3',
    }
}
...
上記のスニペットは、Djangoがプロジェクトを構築するときに提供されます.sqliteドライバがENGINE 変数.
MySQLを更新しました
DJangoプロジェクトのバックエンドエンジンとしてMySQLを使用するには、以下のように簡単に設定します.
  • MySQLサーバをインストールします
  • MySQL Pythonドライバをインストールします
  • MySQLデータベースとユーザーを作成する
  • 更新設定
  • Django移行を実行し、プロジェクトテーブルを作成する

  • MySQLサーバーのインストール
    UnixシステムがデフォルトでMySQLサーバを提供し、Windows用にインストールされているため、インストールの手順は異なるシステムでは異なります.詳細についてはダウンロードページにアクセスし、オペレーティングシステムと一致するインストーラを選択してください.

  • MySql - オフィシャルウェブサイト

  • MySql Downloads ページ

  • Pythonドライバのインストール
    MySQLエンジンに正常にアクセスするには、Djangoは純粋なSQL命令にPythonクエリを翻訳するためのドライバ(別名コネクタ)を必要とします.
    $ pip install mysqlclient
    
    上記の指示は、システムにおいてPythonのMySQLドライバをグローバルにインストールします.もう一つの方法はvirtual environment これはインストールをサンドボックスにします.
    $ # Create and activate the virtual environment
    $ virtualenv env
    $ source env/bin/activate
    $ 
    $ # install the mysql driver
    $ pip install mysqlclient
    

    MySQLデータベースの作成
    初期設定では、プロジェクトテーブルを作成しますが、データベースを作成できません.使用可能なプロジェクトを作成するには、後でデータベースプロジェクトの資格情報が必要です.データベースを視覚的にデータベースツールを使用して作成することができますMySQL Workbench ) または端末を使う
    CREATE DATABASE mytestdb;
    

    Create a new MySql user


    CREATE USER 'test'@'localhost' IDENTIFIED BY 'Secret_1234';
    

    Grant all privileges to the newly created user


    GRANT ALL PRIVILEGES ON `mytestdb` . * TO 'test'@'localhost';
    FLUSH PRIVILEGES; 
    

    更新djangoの設定
    MySQLデータベースが作成されると、MySQLサーバーを使用するようにプロジェクトの設定を有効にして更新できます.
    # File: core/settings.py
    ...
    DATABASES = {
        'default': {
            'ENGINE'  : 'django.db.backends.mysql', # <-- UPDATED line 
            'NAME'    : 'mytestdb',                 # <-- UPDATED line 
            'USER'    : 'test',                     # <-- UPDATED line
            'PASSWORD': 'Secret_1234',              # <-- UPDATED line
            'HOST'    : 'localhost',                # <-- UPDATED line
            'PORT'    : '3306',
        }
    }
    ...
    

    プロジェクトを開始する
    簡単なチュートリアルの次の手順は、必要なテーブルをすべて作成するDjango移行を実行することです.
    $ # Create tables
    $ python manage.py makemigrations
    $ python manage.py migrate
    

    Start the Django project


    $ # Start the application (development mode)
    $ python manage.py runserver
    
    この時点で、Djangoは正常にMySQLサーバーに接続され、データベースのチェック中にデータベースをチェックし、新しく作成したテーブルを一覧表示できます.

    Thanks for reading! For more resources feel free to access:


  • Django Dashboards - 単純なスターターを持つキュレーションインデックス

  • Free Dashboards - 様々な技術で作られたオープンソースプロジェクト(フラスコ,ジャンゴ,反応)