【独学】はじめてのWebプログラミング – 7.1 データベースの基礎①(Mac)

大量のデータを管理するのが「データベース」というソフトウェアです。
例えばYahoo! JAPANなどのWebサイトは、大量の顧客データをデータベースを使って管理しています。ユーザーがログインする際、内部的にはデータベースに当該ユーザーが存在するかを確認しています。

データベースの概要

データベースを管理するソフトウェアには、Microsoft社が提供する「SQL Server」やOracle社が提供する「Oracle Database」など様々な種類があります。
ここでは、世界で最も使われている「MySQL」を扱います。

データベースの基本構造

データベース管理ソフトウェアであるMySQLの中には、複数のデータベースをつくることができます。例えば、システムA用のデータベースA、システムB用のデータベースB…といったイメージです。

データベースの説明

そのデータベースの内部では下図のように、顧客データを管理するための「顧客データ」や、商品データを管理するための「商品データ」など、様々なデータをもつことができます。各データはExcelのような表の形になっています。
この表では、何百万・何千万というデータをもつことができます。

データベースの説明

データベースでは、この表のことを「テーブル」と呼びます。
上図の例では「顧客テーブル」と「商品テーブル」があることになります。

さらに、表の列のことを「カラム」、表の行のことを「レコード」、表のセルのことを「フィールド」と呼びます。これは覚えるしかありません。

データベースの説明

データベースでは、レコードが誰かや何かを特定するデータの塊になります。
上図でいうと、山田一郎さんは、ユーザーID「1番」で、年齢「30歳」で、メールアドレスは「ichiro.yamada@test.com」であり、このレコードが山田一郎さんのデータの塊になるのです。

MySQLの起動

以前、MAMPをインストールしました。実はXAMPPの中にMySQLが同梱しているのです。
MAMPが以下のような表示になっていれば、MySQLも起動しています。

MAMP

MySQLへのログイン

データベースにアクセスするにはログインが必要です。
前述の通り、データベースには顧客データなど重要なデータが保管されています。
よって、誰でもアクセスできないように、ログインを必要とします。

ターミナルで以下を入力し、MySQLが存在するフォルダに移動します。

cd /Applications/MAMP/Library/bin

ターミナル

続いて以下を入力し、MySQLにログインを試みます。
「mysql」はMySQLにアクセスするという意味で、「-u」でユーザーを指定し(ここでは直後の「root」がユーザー名になります)、「-p」でパスワード入力をさせるように指示しています。

./mysql -uroot -p

ターミナル

「Enter password」でパスワードを要求されます。MySQLのデフォルトは「root」ですので、「root」と入力してReturnを押して下さい。

「mysql>」や「MariaDB>」のように表示されればOKです。

ターミナル

これは、MySQLのログインに成功し、「いまMySQLの中にいる」という意味になります。MySQLの中に入ったので、コマンドプロンプトでの入力を通じてMySQLに指示を出すことができます。

MySQLでのユーザー作成

先ほどはユーザー「root」でMySQLにログインしました。
しかし、初期パスワードが「root」で決まっているように、セキュリティに問題があります。
よって、新しくユーザーをつくり、そのユーザーにパスワードを設定します。

ターミナルで「mysql>」や「MariaDB>」のように表示されている状態で以下を入力します。

create user ‘sato’@localhost identified by ‘test_password’;

ターミナル

「create user」は文字通り「ユーザーをつくれ」という命令で、「sato」がユーザー名です。次の「@localhost」は、「at localhost」すなわち「自分の環境に(=このMySQLに)」という意味です。つなげると、「このMySQL内にsatoというユーザーをつくれ」という意味です。
「identified by」の後にパスワードを入力します(ここでは「test_password」というパスワードにしています)。

この状態では、追加したユーザーはMySQLを操作する十分な権限をもっていません。
よって、以下を入力して、追加したユーザーに権限を与えます。

grant all privileges on *.* to ‘sato’@localhost;

ターミナル

「grant all privileges」は文字通り「すべての権限を与える」という命令で、次の「on *.*」は覚えるしかありません。次の「’sato’@localhost」は前述の通り、「このMySQL内のユーザーsato」という意味です。つなげると、「このMySQL内のユーザーsatoにすべての権限を与える」という意味です。
最後にセミコロン(;)を付けて下さい。これが1つの命令の区切り文字になります。

作成したユーザーでログインしてみます。
現在は、ユーザー「root」でログインしている状態なので、「exit;」を実行することでMySQLからログアウトします。

ターミナル

MySQLからログアウトし、「/Applications/MAMP/Library/bin」に戻ってきました。

続いて、以下を入力して、ユーザー「sato」でログインします。

./mysql -u sato -p

ターミナル

ユーザー指定の「-u」に対して、追加したユーザーである「sato」を指定しています。
ユーザー「sato」にはパスワードを設定したので、今度はパスワードを入力した上でEnterを押して下さい。

ターミナル

先ほどと同じように、「mysql>」や「MariaDB>」のように表示されればOKです(=追加したユーザーでログインできました)。

本節の説明は以上になります。

トップページ <<前のカリキュラムへ戻る 次のカリキュラムへ進む>>

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