MySQLを使ってみよう

本チュートリアルの内容

■ 開発環境の確認

前提とする環境

このチュートリアルでは、以下の環境を想定します。

開発の準備

開発に使用するMySQLはMySQLのページからダウンロードして、インストールする必要があります。

MySQLのインストールは以下のページなどを参考に実施してください。

ページの先頭へ


■ 基本操作

MySQLに慣れる

まずは、MySQLに慣れるところから始めましょう。Windowsのコマンドプロンプトを利用して、DB操作をしてみます。この時に、MySQLの実行ファイルにPATHが通っていないと、以下のコマンドが起動しません。PATHの追加は、「コントロールパネル」>「システム」から、 「システムの詳細設定」を選択し、「環境変数」ボタンを押下して開く画面で、「システムの環境変数」のPATHに、mysql.exeがあるフォルダを指定します。

PATHを追加するときに、セミ コロンを入れるのを忘れないようにしましょう。

以下のコマンドを入力し、Enterキーを押下し、インストール時に入力したパスワードを入力する。

        mysql -u root -p
        


図 mysqlの初期画面

まず、テスト用にデータベースを作る。ここでは、pickinglog_dbというDBを作ってみます。日本語を入力してもよいようにutf8mb4を文字コードとして設定しておきます。

         create database pickinglog_db character set utf8mb4 collate utf8mb4_general_ci;
         

図 DB作成

これで、DBができます。実際にDBができているかを以下のコマンドで確認することができます。

         show databases;
         

図 DB確認

確かにできていますね。ここで、rootのままで、DBにアクセスするのは危ないので、このDBにアクセスするユーザーを定義しましょう。ここでは、簡単のためユーザ名:pickinglog、パスワード:p!ckinglogで定義します。

         grant all privileges on pickinglog_db.* to pickinglog identified by 'p!ckinglog';
         

図 ユーザー設定

MySQLのバージョン8では、非明示的にアカウントを作ることができなくなったようです。バージョン8を使っている人は、以下のように別々のコマンドを入力する必要があるようです。実際には試していないので、多少間違いがあるかもしれないので、注意してください。

         create user 'pickinglog'@'localhost' identified by 'p!ckinglog';
         grant all privileges on pickinglog_db.* to 'pickinglog'@'localhost';
         

これで、ユーザーpickinglogがアクセスできるDBができました。次に、DBに接続をして、

         use pickinglog_db;
         

テーブルを作ってみます。

         create table log_tbl(
           id int(5) auto_increment,
           location int(3),
           tid varchar(20),
           time datetime,
           primary key(id))
           character set utf8mb4;
         

図 テーブル作成

このような感じでテーブルを作成することができます。

次に、このテーブルにデータを入れてみましょう。改行は適宜行っても、最後にセミコロンさえつければ、大丈夫です。

           insert into log_tbl(location, tid, time) 
             values (1,'00005CE62524000007E0','2022-02-10 09:00:00');
          

図 データ挿入

実際に、データが挿入されたかどうかを確認してみましょう。

          select * from log_tbl;
          

図 挿入の確認

確かにデータが入っていることがわかりますね。

ページの先頭へ


■ まとめてテーブルとデータを作る

SQLで書いたコマンドを使ってテーブルを作る

基本操作でやったようにしてもテーブルを作ったり、データを入力したりすることはできますが、たくさんのデータを入力したりしなければならない時には、少し手間がかかります。 そこで、別のやり方も説明しておきます。

下準備として、自分のフォルダなどに、SQLコマンドファイルを保存するフォルダを作成しておきましょう。ここでは、マイドキュメントの中に、sqlというフォルダを作りました。

          C:\Users\tinaba\Documents\sql
          

図 sql用のフォルダ

ここに、次のようなSQLが書かれた、テキストファイルを保存します。

          create table log_tbl(
          id int(5) auto_increment,
          location int(3),
          tid varchar(20),
          time datetime,
          primary key(id))
          character set utf8mb4;
          

ここでは、create_log_tbl.sqlという名前で保存します。ここで、コマンドプロンプトから、DBにアクセスします。

           use picklog_db;
           

ここで、先ほど基本操作で作ったテーブルが残っているので、このテーブルを先に削除しておきましょう。

           drop table log_tbl;
           

図 テーブル削除

           show tables;
           

ここで、先ほど作ったSQLコマンドの書かれているファイルを読み込みます。(ディレクトリの指定は\マークではうまくいかなかったので、スラッシュを使用しました。)

           source c:/Users/tinabalab/Documents/sql/create_log_tbl.sql;
           

テーブルができたかを確認してみましょう。


図 テーブルの確認

確かにできていますね。

データの追加

同じようにすると、データを追加することもできます。SQLで書かれた、データの追加コマンドを以下のように作成し、先ほどと同じフォルダに保存しましょう。

           insert into log_tbl(location,tid,time)
           values(1,'00005CE62524000007E0','2022-02-10 09:01:00');
           insert into log_tbl(location,tid,time)
           values(1,'00005CE62524000007E0','2022-02-10 09:02:01');
           insert into log_tbl(location,tid,time)
           values(1,'00005CE62524000007E0','2022-02-10 09:05:03');
           insert into log_tbl(location,tid,time)
           values(2,'00006CE62524000007E0','2022-02-10 09:06:04');
           insert into log_tbl(location,tid,time)
           values(2,'00006CE62524000007E0','2022-02-10 09:08:05');
           insert into log_tbl(location,tid,time)
           values(3,'00007CE62524000007E0','2022-02-10 09:09:06');
           

ファイル名は、insert_log_tbl.sqlとしました。ここで、先ほどと同様に、sourceコマンドを使って、SQLを実行します。

           source c:\Users\tinabalab\Documents\sql\insert_log_tbl.sql;
           

ちゃんと、データが挿入されているでしょうか。



図 挿入の確認

このように、データが保存されていることがわかります。まとめて、データを入力しなければならない時などは、このやり方が便利ですね。


ページの先頭へ