PHP

掲示板のデータベースとテーブルを作成する

  1. 最終更新日:
  2. 公開日:

「ひと言掲示板」の投稿データが入る「データベース」と「テーブル」をphpMyAdminから作成します。

この記事のポイント

  • phpMyAdminでデータベースやテーブルを作成する
  • データベースは自動連番を割り振る機能がある

phpMyAdminでデータベースを作成する

前回はphpMyAdminをインストールして、MariaDBを使う準備を整えました。
今回は掲示板の「データベース」と、投稿データが入る「テーブル」を作成していきます。

データベースとテーブルの関係は次のようなイメージになり、テーブルの中に実際の投稿データが格納されていきます。
今回作成するデータベース名は「board」、テーブル名は「message」としましょう。

データベースとテーブルの関係のイメージ

「ひと言掲示板を作る」の概要については「ひと言掲示板を作る」をご覧ください。
デモはこちら

前回までに作成したコードはこちら:Github

データベースを作成する

まずは掲示板のデータベース「board」を作成しましょう。
phpMyAdminにログインし、「データベース」タブを押してください。

データベースをクリック

データベースを作成するページが開きます。
次のようにデータベース名を「board」と入力し、作成ボタンを押してください。
データベースの文字コードが「utf8mb4_general_ci」となっていますが、こちらは変更せずそのままで大丈夫です。

データベースの作成ページ

Note

データベースの文字コードはご利用の環境によって別のものになっているかもしれません。
その時は「utf8mb4_general_ci」に変更するか、この文字コードが選択肢に無ければ「utf8_unicode_ci」を選択してください。

データベースが無事作成されると、左側の一覧に「board」が表示されます。

作成したデータベースが一覧に表示される

以上で掲示板のデータベースを作成することができました。
続いて、このデータベースに投稿されたデータが入る「message」テーブルを作成していきましょう。

テーブルを作成する

「テーブル」はデータが入る器です。
どのような形式でデータが登録されるか、このテーブルであらかじめ「定義」しておく必要があります。

テーブルの定義にはどのようなデータを扱うかを考える必要があります。
そこで、今までデータを書き込んでいた「message.txt」を確認してみましょう。

message.txtに書き込まれたデータ例

'Emily','掲示板に書き込んでみる','2019-03-20 23:22:47'

データは「表示名」「メッセージ」「投稿日時」の3種類でした。
テーブルにもこの3つがあれば大丈夫そうです。
さらに今回はデータベースの機能を使って、データに自動的な連番を割り振る「id」も加えていきます。

ここまでの要件をまとめると、今回作成するテーブルは次のようになります。

カラム名データの型属性内容
idint主キー、AUTO_INCREMENTデータを一意に特定するID
view_namevarchar(100)表示名
messagetextひと言メッセージ
post_datedatetime投稿日時

id」の属性にある「AUTO_INCREMENT」はデータが登録される度に加算される整数を指定しています。
データが登録される度に「123、....999910000」と増えていきます。
id」は主キーになるため、他のデータと値が重複することもありません。

view_name」の型にある「varchar」は文字数に制限がある文字列です。
ここでは100文字の長さとします。

テーブルでは取り扱うデータをそれぞれ「カラム」と呼びます。
今回のテーブルでは4カラム分の定義を行う必要がありそうです。

ここまでに考えてきた定義内容から、実際にテーブルを作成していきましょう。
phpMyAdminの左側にある「board」をクリックすると、「テーブルを作成」ページが開きます。
名前に「message」と入力し、実行ボタンを押してください。

テーブル作成ページ

続いて、カラムを個別に入力していきます。
先に「名前」と「データ型」を全て入力しておくと楽です。

id」のAUTO_INCREMENTは、右側にある「AI」にチェックを入れると設定することができます。
チェックを入れると「インデックス追加」のポップアップウインドウが表示されるかもしれませんが、そのまま「OK」ボタンを押してください。
これでAUTO_INCREMENTに加えて、主キーの指定も完了します。

view_name」については100文字の制限を設けるため「長さ/値」に「100」と入力してください。
また、このカラムと「message」は日本語のデータが入るため「照合順序」を「utf8mb4_general_ci」を選択してください。

カラムの入力が終わったら、下部にある「Collation」の文字コードも「utf8mb4_general_ci」を選択します。

最後に右下にある「保存する」ボタンを押すと、テーブル作成されます。

テーブル作成の入力例

テーブルが無事作成されると、phpMyAdminの左側のデータベース「board」内に、作成した「message」テーブルが追加されます。
こちらをクリックすると、作成したテーブルの構造を確認することができます。

テーブルが新しく追加される

今回はここまでです。
次回からは、作成したテーブルに投稿データを登録していきます。

前のページ投稿データの保存にデータベースを使う

次のページ投稿データをデータベースに登録する

記事一覧

  1. ひと言掲示板を作る
  2. メッセージの入力フォームを作る
  3. メッセージのデータを受け取る
  4. ファイルにデータを保存する
  5. ファイルからデータを読み込む
  6. 投稿完了メッセージを表示する
  7. 投稿の未入力バリデーションをつける
  8. 投稿されたデータをサニタイズする
  9. 投稿データの保存にデータベースを使う
  10. 掲示板のデータベースとテーブルを作成する
  11. 投稿データをデータベースに登録する
  12. データベースからデータを取得する
  13. コードを整理する
  14. セッションで表示名の入力を省略する
  15. 管理ページを作成する
  16. ログインページを作る
  17. 投稿データをCSV形式でダウンロードする
  18. 投稿データをダウンロードする件数を指定する
  19. 投稿メッセージの編集ページを作る
  20. メッセージを編集する機能を実装する
  21. 投稿メッセージの削除ページを作る
  22. 管理ページにログアウトを実装する
  23. リロードによる多重投稿を防止する
  24. 投稿に文字数制限を設定する

前の記事

記事一覧

次の記事