最終更新日:
公開日:
ワークショップ
ひと言掲示板を作る(10)
掲示板のデータベースとテーブルを作成する
「ひと言掲示板」の投稿データが入る「データベース」と「テーブル」を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」も加えていきます。
ここまでの要件をまとめると、今回作成するテーブルは次のようになります。
カラム名 | データの型 | 属性 | 内容 |
---|---|---|---|
id | int | 主キー、AUTO_INCREMENT | データを一意に特定するID |
view_name | varchar(100) | 表示名 | |
message | text | ひと言メッセージ | |
post_date | datetime | 投稿日時 |
「id」の属性にある「AUTO_INCREMENT」はデータが登録される度に加算される整数を指定しています。
データが登録される度に「1、2、3、….9999、10000」と増えていきます。
「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) 投稿に文字数制限を設定する