- 第1回:レンタルサーバーからデータベース作成
- 第2回:PHPでデータベースを呼び出す
- 第3回:UnityからPHPを介して、データベースを表示する
近年のゲームは、オフラインゲームは減少しており、
インターネットサーバーを使うオンライン対戦ゲームが主流です。
オンライン対戦のみを追求するのであれば、
「Photon」というアセットがUnityで使用できます。
しかし、ゲームをオンラインにつなぐことは、ネット対戦だけではなく、
サーバー上にあるデータベースをゲーム上で要求する機会もあるでしょう。
本記事では、サーバー上にあるデータをPHPで取得して、Unityと連携する方法を紹介します。
- UnityとPHPを連携したい。
- SQLクエリについて知りたい。
- phpMyAdminの使い方を知りたい。
- データベースの作り方を知りたい。
MySQL
MySQL(Structured Query Language)は、
オープンソースのリレーショナルデータベース管理システム(RDBMS)です。
身近な使用例は、「WordPress」や「YouTube」、「Twitter」、「Netflix」など
多くのデータベース駆動型アプリケーションで使用されています。
MySQLでは、データベースを作成、テーブル(表)を作成します。
また、作成したテーブルにデータを挿入、更新、削除することができます。
これらの操作をするためには、次のようなコードを記入する必要があります。
・データベースの作成
CREATE DATABASE データベース名;
・データの挿入
CREATE TABLE テーブル名 (
列名1 データ型1,
列名2 データ型2,
...
);
・データの更新
UPDATE テーブル名
SET 列名 = 新しい値
WHERE 条件;
・データの削除
DELETE FROM テーブル名
WHERE 条件;
これらはあくまで基本的な操作で、データベースを本格的に扱うのであれば、
より高度なクエリやデータベース管理の操作が必要になります。
SQLはデータベース言語で、UnityやPHP、Pythonなどに比べて、
あまり馴染みがなくとっつきにくい言語でしょう。
データベース言語とは、データベースを操作するための言語です。SQLは、データベースに指示・操作を行うための言語であり、基本構文を組み合わせて処理を実行します。SQLの構文は国際標準化機構によって規格が標準化されています。
参考:SQLとは何か?IT初心者向けにわかりやすく解説します!
PHPAdmin
phpMyAdminは、MySQLデータベースをWebブラウザを通じて、
操作および管理するためのWebアプリケーションです。
PHPで開発されていて、オープンソースのプロジェクトとして提供されています。
phpMyAdminを使用するとMySQLで行えるデータベースおよびテーブルの作成と管理をWebブラウザから実行することができます。
同様にデータベースやテーブルの作成、変更、削除、コピーなどの操作が可能です。
最大の魅力は、プログラミング不要にもかかわらず、
MySQLのようにデータベースやテーブルの作成、変更、削除の操作が
インターフェースを介して行われます。
また、phpMyAdminはSQLクエリの実行もサポートしています。
クエリエディタを使用してSQLクエリを作成し実行することで、
データベースへのカスタムな操作やデータの抽出が可能です。
クエリについて紹介します。
クエリ(query)は引用にあるように、質問する、問い合わせるという意味です。
あまり聞きなれない単語かもしれませんが、質問を意味するクエッション(quetion)に関連する単語でしょう。(あくまで、私の見解)
また、クエリについて調べていると、同時に「クリエ」という言葉も目にします。
しかし、「クリエ」という言葉は存在しません。
間違えやすいので、注意してください。
上記のクエッションと同じと考えれば間違えることもないでしょう。
クエリとは、質問(する)、照会(する)、問い合わせ(る)、尋ねる、疑問、疑問符などの意味を持つ英単語。IT分野では、ソフトウェアに対するデータの問い合わせや要求などを一定の形式で文字に表したものを指すことが多い。
クエリ 【query】 クエリー
その他にも、MySQLデータベースにアクセスするために
ユーザーアカウントを作成したり、既存のアカウントの権限を管理したりすること。
データベースのエクスポート(バックアップ)やインポート(復元)を行うことができます。
phpMyAdminはWebブラウザを介して、
直感的にMySQLデータベースを操作および管理するための便利なツールです。
ただし、phpMyAdminのセキュリティ設定に注意し、
適切な認証やアクセス制御を行うことが重要です。
参考:「phpMyAdminとは何か?使い方やMySQLとの関係を学ぼう!」
UdemyでUnityを学習
Udemyは、オンデマンド式の学習講座です。
趣味から実務まで使えるおすすめの講座を紹介します。
- 【Unity C# ゲーム開発超入門】7つのミニゲームを作っておぼえる!UnityとC#講座
Unityで頻出の機能を実際のゲーム作りで学習。
何か作りたい、今後の開発で役立てたい初心者におすすめ
- 【Unity C# ゲーム開発初心者レベルアップ】7つのトランプゲームを作っておぼえる!UnityとC#講座
トランプやボードゲーム作りに特化している講座。
テーブルゲームを作りたい人におすすめ。
- 【全行程を網羅!最初に学びたい総合学習】Unityワールド制作講座
Unityワールド制作の全工程を学習できる講座。
RPGを作りたい人におすすめ。
- Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】
C#の文法やApp StoreとGoogle Playへゲームをリリース方法を解説。
ゲームを出品したい人におすすめ。
レンタルサーバーからデータベース作成
ここまで、SQLの紹介をしてきました。
ここからは、データベースを作成していきます。
前述したようにデータベース、テーブルの作成は、
通常PCにMySQLをインストールして構成していきます。
しかし、レンタルサーバーからPHPAdminにアクセスすれば、
プログラミングコードを使う必要なく、データベースを作成することができます。
レンタルサーバーは、インターネット上にWebサイトを公開するために必要なサーバーをレンタルするサービスです。
レンタルサーバーの利用は月額1000円程度料金が発生しますが、自分でサーバーを用意する手間が省けて、手軽にWebサイトを公開することができるので、ブログやウェブサイト運営には必要なものになります。
自分でサーバーを作成、管理することもできますが、電気を常に通電する必要があるので、月に数千円以上の電気代がかかります。
自分だけの小規模でサーバーを管理するならば、自力でサーバーを運営するよりもレンタルサーバーを契約する方がコスパは高いです。
さらに、1年契約、3年契約と年数を増やせば、月額600円程度で利用できてお得になります。
おすすめは1年間(1万円程度)運用して、続ける意志があれば長期契約をしてみてください。
レンタルサーバー
本記事で紹介する際に使用するレンタルサーバーは、「Conoha WING」です。
「ConoHa WING」は、東証一部上場企業であるGMOが運営するレンタルサーバーで、
非常に信頼性も高いので、おすすめです。
当ウェブサイトも本レンタルサーバーで運営をしています。
他社サーバーでもPHPAdminやMySQLでデータベースを作成できます。
各レンタルサーバーで画面が違いますが、同じような操作ができると思います。
データベース作成
初めに、契約しているレンタルサーバーの管理画面にログインしてください。
ログイン後、データベースにアクセスしてください。
「ConoHa」の場合は、サイト管理内、データベースを選択してください。
データベースを作成していきます。
「+ データベース」を選択します。
それぞれ、「データベース名」と「ネームタグ」を指定します。
赤枠で囲ったところが次回のPHPから呼び出すときに必要になる情報です。
この情報が流出すると、乗っ取りやユーザーの情報を知られてしまうので、厳重に保管してください。
つづいて、「+ユーザー」で接続先のデータベースを連動させます。
接続先データベースを「Unity_Test」と先ほど作成したデータベースにしてください。
ユーザー名とパスワードが「phpMyAdimin」にログインするために必要な情報です。
先ほど同様に大切に管理してください。
パスワードは「Al&&icIAiNg?」みたいな感じで、
「小文字、大文字、記号」を複雑に混ぜあわせて特定されないようにしてください。
ただし、例に出したパスワードは、あまりに複雑にしすぎて自分も分からなくなってしまうのは、
本末転倒ですので、自分のみが分かる法則で設定するのが良いでしょう。
※例では自分のハンドルネームを入れていますが、入れない方が得策です。
phpMyAdiminでテーブル作成
ユーザーを保存後、管理ツールの外部リンク「phpMyAdmin」にアクセスしてください。
ログインには、ユーザ名とパスワードを要求されますので、先ほど設定したものを入力してください。
ログイン後、データベース名「xxx_alicia_unity」をクリックすると、テーブルを作成できます。
名前「test」を入力し、カラム数「3」と各自で設定してください。
実行後、テキストボックスが表示されますので、入力していきます。
カラムを3つと設定しましたが、全て入力しなくてもよいです。
入力されなかった場合は自動的にカラムを削除してくれます。
今記事では、以下のテーブル(表)のように作成しました。
名前 | データ型 | 長さ | デフォルト値 |
name | VARCHAR(文字列) | 100 | – |
number | INT(整数) | – | 0 |
「VARCHAR」とは、データベースのフィールド定義などで用いられるデータ型の一つで、可変長の文字列を意味するデータ型です。
VARCHARカラム内の値は可変長の文字列で、長さは0から65535までの値で指定できます。指定された分だけメモリに格納されるため、効率が良いですが、値ごとに違うため、処理は遅く不定です。
同じ文字列関係のデータ型「Char型」がありますが、文字数が固定のため、処理が早く一定ですが、文字数が必ず定まった分格納されてメモリを圧迫しやすいです。
値を入力
作成したテーブルを保存しましたら、値を入力していきます。
値のテキストボックスに、「Apple」、「Banana」と入力します。
入力し、実行するとコードのような画面に移動します。
これは、データベーステーブルであるtestに新しい行を挿入するSQLクエリです。
nameとnumberの2つの列を持つtestテーブルに、2つの行を挿入します。
INSERT INTO `test` (`name`, `number`) VALUES ('Apple', '0'), ('Banana', '0');
MySQLを作成するときは、このクエリを自分自身で書く必要がありますが、
「phpMyAdmin」を使えば、簡単に挿入できます。
GUI(グラフィカルユーザーインターフェース)を使用して行を挿入して操作しましたが、これぐらいなら自分で書いた方が早いと考える人もいるかと思います。
この場合でも、phpMyAdminは対応しています。
SQL項目にて、クエリを入力すれば、挿入することができます。
INSERT INTO `test` (`name`, `number`) VALUES ('Grape', '0');
このクエリを実行すると、追従して行を追加できます。
表示の項目を確認すると、「Apple」・「Banana」・「Grape」の行が作成されます。
まとめ
今回は、WordPressでおなじみのレンタルサーバー(当サイトで使用中)の「Conoha」から「phpMyAdmin」にアクセスしてデータベースを作成しました。
本来、データベースを作成するにはSQLクリエを書く必要があります。
しかし、「phpMyAdmin」を使用すれば、データベースをGUI操作でノーコード構築できます。
また、GUIを使用せずとも、自分自身でSQLを書くことができます。
次回>>PHPからデータベースを呼び出す
本記事で、データベースの作成まで完了しました。
次回は、PHPを使用してデータベースと接続して数値と名前を表示します。
次々回>>Unityでデータベースを呼び出す
第1回(本記事)では、PHPAdminでデータベースのテーブルを作成しました。
第2回では、FTPソフトで自身のサーバーにPHPをアップロードして、データベースにアクセスしました。
第3回では、URLからアクセス可能になったデータベースを使って、Unityからデータベースを呼び出します。