MySQLとは
MySQLはデータベースと呼ばれるソフトウェア種の1つになります。正確にはリレーショナルデータベースと呼ばれるものになります。これはこのサイトを構成しているWordPressはもちろん、YoutubeやTwitterなどいろんなサイトで使用されているものになります。
基本は無料のオープンソースなんですが、個人でこれをインストールすることはそうそうないと思います。それに個人で使うならばMAMPのインストール時に一緒に入るので、なおさらMySQL単体でのインストールは行わないことが多いです。
MySQLのインストールとか
MySQLは基本的にはサーバーにインストールしてサーバー内のデータを効率よく使えるようにする・管理するという機能を持っています。必要に応じてPHPで呼び出して表示するとかいうこともできます。こんな大事なソフトウェアではありますが、レンタルサーバーんらたいていはインストール済みです。
ローカル環境で使うにはMAMPを使えば他のPHPやらも同時にインストールされるので、まず色々と勉強したいという方はMAMPを使いましょう。
MySQLで出来ること
MySQLはデータをテーブル形式で保存します。これはエクセルを使った方ならイメージしやすいと思います。縦と横のマス目があり、それぞれに単一のデータが保存されています。それをPHPから呼び出すことで、表示したり、UPDATEを使ってデータベース内の情報を更新することもできたりします。
取得したデータをもとに何かしらの計算をしたりすることもできます。例を挙げるとポケモンGOの各ポケモンの種族値は原作のポケモンシリーズの種族値を元に計算しています。データベースには原作のポケモンの種族値だけを登録し、データを呼び出した先で計算式に入れ込んでGO用の種族値に変換するということができます。
MySQLとPHPの使い分けとか
MySQLからデータを取得するならPHPの変数に設定しておいて取得してもなんも変わらんのやないのかな?って思われるかもしれません。実際自分もPHPを勉強し始めた頃は変数で良くね?みたいな感じでした。しかし以下を見てください。
かなり小さいですが、真ん中の数字(79/83/100/85/105/78)はMySQLから取得したデータを表示しています。その上と下はPHPによって出力しています。そして肝心なのは一番下の長い数字ですね。これはPHPのmicrotimeというものを使って、処理速度を算出しています。一番上にmicrotimeスタートして、処理の最後に再びmicrotimeを出してトータルの処理時間を取得しています。
つまりデータベースにアクセスして該当のデータを取得して表示っていう流れをするだけなら0.00085秒とかいうよくわからない時間で終わることになります。逆にPHPの変数にデータを入れて読み込むと以下の通りです。
PHP内に配列を作成し、そこに各数字を入力してその数字をtable形式で出力という一連の流れをしています。そして一番下は上のMySQLのところでも書いたように、処理時間を表しています。MySQLのところは0.0008幾つだったのに対し、配列から取得して表示は3.099以上となっています。
この処理速度の違いもありますが、変数をPHPファイル内にいくつも作成しなくても良いという点と、データが変化した場合にデータベース内の該当箇所を直接更新すれば済むのにたいし、変数で管理しているとその変数の箇所を全て修正しなければなりません。それに変数は「ファイルを実行しても数を変化させても、ページを開き直したら初期値に戻る」ので、戦績保存とかの使い方には向きません。
MySQLのリレーショナル
リレーショナルとは「繋ぐ」的な意味です。なのでデータベース内のテーブルAとテーブルBをくっつけて表示することもできます。これはそのうち紹介しますが、テーブルの正規化とか管理の側面とかが主な理由となって、使うことになる機能です。
このテーブル同士の結合も慣れれば簡単に処理をかけるようになり、更に処理速度がかなり速いと良いことづくめです。
MySQLの他には?
MySQLの他にもデータベース管理のソフトウェアは存在します。それこそMySQLを元に作られたMariaDBなんかもあります。あとは開発元が同じOracleのOracle Databaseや、IBMのDB2なんかもあります。このサイトではMySQLをメインに解説していきます。
- MySQLの用語集
- MySQLでよく使う・よく見る用語集です。知っておくと検索とかも便利になります。
- ローカル環境の整え方
- MAMPを使ってローカル環境を整える方法を紹介。
- MySQLデータベースに接続する方法
- MAMPのデータベースと、レンタルサーバーのデータベースに接続する方法
- MySQLの基本コマンド
- MySQLへ接続してまず使う基本コマンドの一覧です。
- データベースの作成
- ターミナル・phpMyAdminでのデータベースの作成方法をそれぞれ解説。
- テーブルの作成
- ターミナル・phpMyAdminのそれぞれでテーブルを作成する方法と、作成と同時にPRIMARYやUNIQUEの付与などの方法を紹介。
- キーの種類と機能
- カラムに設定出来るキーの種類と機能を解説。
- 正規化
- リレーショナルデータベースを使う上で必須となる正規化について。データの追加や更新などで手間を省く方法としても使えます。
- ALTER TABLE
- ALTER TABLE構文を使って作成済みのテーブルに対して操作を行う。PRIMARYの付与やカラムの移動・名前変更・追加・削除なども行えます。
- INSERT構文
- INSERT構文を使って指定テーブルにデータ(行)を挿入する方法の解説です。
- UPDATE構文
- UPDATE構文を使って指定テーブルのカラムを一括更新、もしくは指定レコードの指定カラムのみを更新する方法の解説です。
- SELECT構文
- SELECT構文を使って指定したテーブルからデータを取得する方法の解説です。
- JOIN
- JOINを使ってテーブル同士を結合する方法の解説です。