Agile育成ブログ
未来を変える喜びを
PHP

MySQL


Warning: count(): Parameter must be an array or an object that implements Countable in /home/xs638785/agile-software.site/public_html/wp-content/plugins/rich-table-of-content/functions.php on line 490

データベースはデータを蓄積して利用するためのプログラムです。
テキストファイルでデータ管理できるのはある程度シンプルなデータをシンプルに処理する場合のみです。
ある程度複雑なことをさせようと思ったら、やはりデータベースを利用する必要があります。

データベースというのは多数存在しますが、大きく2つに分けることができます。
それはSQL対応か、そうでないかです。

SQL対応のデータベースはSQLという言語を使って命令文を作り、それを実行してデータベースを操作します。

SQLに対応していない「非SQLデータベース」はSQLのような言語を持っていないので単純な操作しかできませんがめちゃくちゃ速いです。

MySQL

SQLデータベースの中で最も幅広く使われているのがMySQLです。
XAMPPにもSQLデータベースは用意されています。これが「MariaDB」です。
MariaDBはほぼMySQLです。

MySQLというのはサーバープログラムになっているのです。
Webサーバーと同じようにデータベースサーバーとして作成されているのです。
WebサーバーがWebブラウザからサーバーにアクセスしてWebページを表示するのと同じように、データベースサーバーはプログラムの中からデータベースサーバーにアクセスしてデータを受け取るのです。

phpMyAdmin

XAMPPは簡単にMySQLを利用できるようにするためのツールを用意しておいてくれています。
それが「phpMyAdmin」というものです。
このphpMyAdminはWebアプリです。
XAMPPをインストールすると標準で組み込まれています。

http://localhost/phpmyadmin/

MySQLに用意されているデータベースのリストです。
MySQLではデータベースを複数持つことができます。

  • データベース
    • データを扱うためには、まずそのための「データベース」を用意します。
  • テーブル
    • データを保管するためのものです。
  • カラム
    • テーブルには保管する値の名前や酒類などを定義した項目を用意していきます。
      例えば住所録テーブルなら「名前」「住所」「電話番号」といった項目が必要になります。
      この項目のことをカラムといいます。
  • レコード
    • テーブルに保管する1つ1つのデータのことです。

SQLファイルインポート

インポートタブからインポートするファイルを選択。

SQLiteのメリット

  • ・データファイルがひとつ
  • ・高速に動作
  • ・設定が簡単

SQLiteのデメリット

  • ・パスワード設定がない
  • ・複数の書き込みができない
  • ・バージョンによる互換性がない
  • ・管理ツールが微妙

権限がrootになっているので、ユーザー権限に変更

sudo chown -R $USER:$USER .
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_docker',
        'USER': 'user',
        'PASSWORD': 'password',
        'HOST': 'db',
        'POST': '3306'
    }
}

マイグレーション実行

$ docker-compose run web ./manage.py migrate
$ docker-compose up web

You cannot copy content of this page