本記事は、MySQL を初めて触る人に向けた、使い方の手引き書のようなものだと思ってください。Web アプリケーション開発で避けては通れず、数あるデータベースの中でも特によく使われる MySQL、その使用例の解説に、小さなサンプルプログラムを用意しました。追実装を通して、まずはローカルで MySQL を使う感覚を身につけていきましょう。都度、画面キャプチャを挟み、初心者にも分かりやすく進めていきます。

想定読者

なんとなく MySQL がどんなものか、なんのためのものか分かっているけれど、実際どう使うのか分からないという人に向けて、実装手順を解説します。理論や細かいことはいいのでとにかくまず触って使えるようになりたい、動くことを確認したいという方にぴったりです。

サンプルプログラムの内容

好きなアイドルグループを思い浮かべてみてください。最近は多国籍グループも多いですね。メンバーの第一言語はどれだったっけとド忘れすることもあるかもしれません。そこで、今回は、メンバー名を入力するとそのメンバーの第一言語が表示されるようなプログラムを用意しました。

使用例

コンソール入出力を想定します。

事前準備

ではまず、MySQL を使える環境を整えていきましょう。

  • MySQL のインストール
  • MySQL Workbench のインストール
  • コードエディタのインストール(VS Code など)
  • Python のインストール

MySQL のインストール

MySQL を公式サイトからインストールします。MySQL は Windows、Mac、Linux のどれにも対応しているので、インストール手順を参照しながら、お手持ちのパソコンに合うバージョンを入れましょう。

初期設定では root アカウントのパスワードを決める必要があります。できるだけ強力なパスワードを設定し、きちんと手元にメモしておきましょう。電子媒体でない方が望ましいです。

root ユーザー以外にも一般ユーザーというのがあり、その使い分けが大事なので、本格的に MySQL を使うことになったら知っていきましょう。今回は MySQL 使用体験ということで root ユーザーだけを使います。

MySQL Workbench のインストール

MySQL Workbench を公式サイトからインストールします。これは、データベースを作るときに使います。

コードエディタのインストール

本記事では、Visual Studio Code を使用した例を説明します。Python に対応していれば、他のエディタを使ってもいいです。もしどのエディタも持っていなければ、公式サイトからインストールしましょう。

Python のインストール

もし Python を入れていなければ、公式サイトからインストールしましょう。

実装手順

プログラム概要

今回のサンプルプログラムは冒頭で説明したように、アイドルグループのメンバーの第一言語を知りたいときに使うことを想定したものです。
今回は Python + MySQL で作っていきます。MySQL 側の操作(データベースの作成)と、Python 側の操作(データベースの利用)の二面が必要です。
では、まずはデータベースを作っていきましょう。

【1】MySQL 側の操作:データベースの作り方

以下の手順で作っていきましょう。

  • コネクションの作成
  • 作成したコネクションから、データベース member_db を作成
  • テーブルにレコードを追加

手順 1:コネクションの作成

MySQL Workbench を開きます。以下のような画面が現れると思います。

この画面で「MySQL Connections」の下に、以下の root ユーザーのコネクションがあれば、これをクリックします。

なければ「MySQL Connections」横のプラスボタンから新たなコネクションを作成します。名前は何でも構いません。「TestMySQL」などでいいでしょう。

手順 2:データベースの作成

コネクションをクリックすると、以下のような画面になります。その際、パスワードを要求されたら事前準備の章で設定したものを入力します。

画面左「SCHEMAS」のエリアに、作成したデータベース(スキーマ)が記録されます。デフォルトで既にいくつかデータベースが存在しているかもしれないですが気にしなくて大丈夫です。
では、今回のプログラムで使うデータベース member_db を作成していきましょう。
この画面の左上ツールバーにある以下の画像赤印のマークをクリックします。カーソルを合わせたときに「Create a new schema in the connected server」と出れば正解です。

以下のようなウィンドウが出るので、データベースの設定をします。new_schema の部分にデータベース名「member_db」を入れて Apply をクリックしましょう。

SCHEMAS のエリアに「member_db」が表示されるようになったら、次に、テーブルを作成していきましょう。Tables で右クリックをし「Create Table…」を選択します。

2つのテーブル「language」「member」を作りましょう。それぞれ、作成画面が以下と同じになるようにしてから Apply ボタンをクリックしましょう。

1.language テーブルについて
注意:左下の赤丸部分については、Column Name の lang_name の欄を選択した状態で操作しましょう。画像では見えづらいですが、それぞれ「utf8mb4」「utf8mb4_unicode_ci」です。

2.member テーブルについて

手順3:テーブルにレコードを追加

ここでは、テーブルを埋めていきます。最終的に、以下の図の状態になることを目指します。

まずは、赤丸部分を押しましょう。その画面右部分の「From Editor」を押して、レコードを追加していきます。以下は language テーブルの例です。レコードとは一行分のデータのこと(例えば「en, English」「102, Luis, fr」など)を言います。

それぞれの項目に値を入力し、右下 Apply ボタンを押すとレコードが追加されます。以下は member テーブルの例です。

language テーブルは以下左図のように、member テーブルは以下右図のようになるようレコードを追加していきましょう。

ここまでできたら、データベース作成完了、つまり MySQL 側の操作は以上です。
お疲れ様でした。少し休んで、Python 側の操作も頑張りましょう。

【2】Python 側の操作:プログラム本体の作り方

コードエディタ VS Code を開き、ファイル「test.py」を作成し、以下の完成画面と同じになるようにコードを書きましょう。

注意:コード内の以下の部分、パスワードは自分で設定したものを入力してください。

実行例

ファイル「test.py」を開いた状態で、画面右上の実行ボタンを押してみましょう。

想定されるエラー

Python コード内に MySQL を扱うための以下の import 文がありますね。
import mysql.connector
no module エラーが発生した場合には「pip3 install mysql-connector-python」で再実行してみてください。うまくいかなかったら最新版の方法をリサーチしてみましょう。

成功例

実行すると、ターミナルに以下のような文章が出てきます。

Luis さんというメンバーのことを知りたければここで「Luis」と入力して Enter キーをクリックします。

以下のように出力されれば成功です。

おまけ:データベース作成、別のやり方

以下の sql ファイルを VS Code 作業フォルダ内に作って実行することで、一気に前章の「【1】MySQL 側の操作:データベースの作り方」で行った操作全てを完遂できます。

手順

1.「test.sql」というファイル名で新しくファイルを作り、以下の完成画面と同じになるようにコードを書きましょう。

2.ターミナルで「mysql -u root -p」と打って Enter キーを押します。パスワードを求められるので、事前準備の章で root アカウントに設定し控えたものを打ち込みます。

MySQL の操作が可能になるので「mysql > 」の横に「source test.sql」を打ち Enter キーをクリックしましょう。これで、先ほどの sql ファイル「test.sql」が実行されます。
もしデータベースが既に存在しているといった警告が出たら、ファイル「test.sql」の以下の行で、データベース名「member_db」を何か別のもの、例えば「test01」に変えて実行しましょう。ここを変えたら Python のほうのコード「test.py」で「database=”member_db”」の部分も変えないといけないので忘れないようにしましょう。

または、以下のように MySQL Workbench で既に作ったデータベースを削除してから再度 VS Code で「test.sql」を実行しましょう。先ほどの手動データベース作成に思い入れがなければ、この方法のほうが楽です。

上手くいけば、ターミナルには以下のような出力が得られるはずです。最後は「\q」で MySQL への操作を閉じましょう。

3.MySQL Workbench で以下のような画面が確認できればデータベースができています。

まとめ

小さなサンプルプログラムの追実装を通して、まずはローカルで MySQL を使えるようになりましたね。MySQL の使用・実装について、少しでも理解が深まっていれば幸いです。以下、本記事で説明を省いた点について幾つかまとめておきます。仕事の中で使うとなると知っていく内容だと思うので余力があれば調べてみましょう。

  • root ユーザーと一般ユーザーの違い
  • スキーマとデータベースの違い(MySQL では同じものとの認識で OK)
  • コード内にパスワードなどの接続情報を直書きする危険性
  • LAMP 環境(今回は M:MySQL についての特集)
今すぐシェアしよう!
今すぐシェアしよう!