どうもこんにちは、まったけです。
今回は、新しいブログを立ち上げるための前準備として、phpMyAdminを使って、データベース(新規テーブル)を作成していきたいと思います。
※本サイトはアフィリエイト広告を利用しています。
phpMyAdminを使って、新たなデータベース(新規テーブル)を構築する
ブログ環境を整理
まず、まったけのブログ環境を整理してみたいと思います。
こんな感じですね。
- サーバー : ConoHa WING
- WordPress : cocoon
- データベース : phpMyAdmin
今回は、phpMyAdminに新たなデータベース(新規テーブル)を作ってみたいと思います。
phpMyAdminの画面を表示する
まず、ConoHa WINGに入ります。
そして、上にあるアイコンの『WING』をクリックします。
その後、左にあるサイト管理をクリックします。
『WING』をクリックしたら、『データベース』をクリックします。
ユーザーのところにある、アクセスしたいデータベースをクリックします。
そうすると、情報が表示され、『phpMyAdmin』が表示されますので、クリックします。
phpMyAdminの画面が表示されますので、ユーザー名とパスワードを入力し実行をクリックします。
※もし、パスワード等忘れてしまった場合は、こちらの方法で確認することができます。
phpMyAdminにアクセス出来たら、新しいテーブを作成してみよう!
テーブルとは、データベースの一部で、データを保存する場所になります。
このテーブルがいくつも集まって、データベースになります。
テーブルを作成する
まずは、テーブルを作成してみましょう。
左のメニューの『新規作成』をクリックします。
新規作成をクリックすると、表が出てきます。ここにいろいろな情報を入力することで入れ物であるテーブルができます。
テーブルの詳細設定について
このテーブルは、非常に細かい設定ができますので、説明したいと思います。
名前
名前を入力します。名前は日本語でも入力できますが、普通は英語で入力します。
基本的に英単語や数字を使い、分かりやすい名前にするといいと思います。
データ型
データの値の種類を設定します。以下ではよく使うデータ型を列挙しています。
数値
INT:整数型。-2147483648から2147483647に対応。
TINYINT:整数型。-128から127に対応。
BOOLEAN:true/falseを取る型。TINYINTと同等で、0がFALSE、0以外がTRUEとみなされる。
文字列
VARCHAR:文字列型。文字数は「長さ/値」で入力した値が最大となる。
ENUM:あらかじめ列挙された値(文字列)のリストから選択する。
日付・時刻
DATATIME:日付+時刻。「2021-02-08 14:25:23」の形で表される。
データの方については、非常に種類がありますので、詳しくはこちらを参照してください。
長さ/値
文字列型(VARCHAR)の場合、最大文字数を入力します。
ENUMの場合は、値のリストをコンマで区切って入力します。
文字数は、通常では累乗(4,16,256など)にするのが一般的です。
また、長さは余裕を持って設定しておきましょう。
デフォルト値
データの挿入時に値が指定されなかった場合に入力される値です。
ユーザー定義:任意の値を指定することができる。
NULL:空白になります。
CURRENT_TIMESTAMP:挿入時の日時をデフォルト値とします。TIMESTAMP型である必要はなく、日付・時刻型であれば設定できます。(文字列型や数値型でも一応可能。)
「Null」とは、値が入っていないということを表すものです。空文字とは異なります。
照合順序
「文字コード+言語名+比較法」を表しています。
例えば、「utf8mb4_general_ci」の場合、
- 文字コード:utf8mb4 (utf8を4バイトに拡張したもの。絵文字が使用可能。)
- 言語名:general (utf8にjapaneseはありません。)
- 比較法:ci (大文字と小文字を区別しない。AAで検索すると、aaもマッチする。)
utf8mb4_general_ci:MySQLの設定にもよるが、特に指定しない場合はコレになる。
utf8mb4_unicode_ci:大文字小文字、全角半角、ひらがなカタカナを区別しない。
ひらがなカタカナを区別しないで検索したい場合には、「utf8mb4_general_ci」を指定しておくといいでしょう。
属性
フィールド定義を指定します。
UNSIGNED:負数が使えなくなる代わりに、扱える正の値が増えます。
例えば、TINYINT型は-128から127に対応しますが、UNSIGNEDにすると0から255に対応することになります。
UNSIGNED ZEROFILL:桁数をあわせるために、0埋めをします。
例えば、長さ4の場合「1」は「0001」となります。またZEROFILLを使う場合は、自動的にUNSIGNED(正の値のみ扱える)になります。
on update CURRENT_TIMESTAMP:データを更新したときに、値をその更新日時に変更します。
NULL
空白を使えるようにするかを設定します。
Nullはどのような型でも初期値であることが判断しやすいため、「値がなにも登録されていない」状態かどうかをチェックするのによく利用されます。
NullをSQLで検索する場合は、他とは異なり特殊な形で表します。
例えば、Nullである(ない)かどうかは以下の形で表現します。
インデックス
インデックス(索引)を設定します。
インデックスを使用すると、検索時に高速に処理することができるようになります。(参考書の巻末についている索引をイメージすればいいかと思います。)
また、インデックスには「ユニーク制約」というのを設定することができます。これは値を一意(同じ値を認めない)に制限するものです。
INDEX:インデックスを設定します。
UNIQUE:ユニーク制約を持ったインデックスを設定します。
PRIMARY:ユニーク制約+Nullではない(Not Null)制約を持ったインデックスを設定します。
PRIMARYは「主キー」と呼ばれ、そのデータを一意に特定することができることから、一般的には「id」に主キーを設定します。
主キーによってデータを一意に特定できることから、逆に主キーを設定しないと、データを一意に特定することができません。
したがって主キーを設定しないと、phpMyAdminでは各データの編集・削除をすることができません。
「主キー」は1つのカラムに対して設定するだけでなく、複数のカラムの組み合わせに対して「主キー」を設定することもできます。
例えば、「姓」と「名」の組み合わせでデータが一意に定まる場合は、「姓」「名」の組み合わせを主キーとして設定します。
A_I
ユニークな番号を自動で設定します。これは、連続した数字を自動的に入力されます。
AUTO_INCREMENTを設定すると、値が重複することがないため、ID(主キー)として使用されることが多いです。
カラムを移動させる
コメントをつけること上下に移動することができます。
テーブルの設定を完了
テーブルの設定をすると以下の様な感じになります。
全ての設定を設定を終えたら、保存をクリックします。
列(カラム)を追加する場合は、上に追加ボタンがあるので、必要な行数を入力しクリックします。
まとめ
今回は、phpMyAdminのデータベースに入り込み、新たなテーブルを作成してみました。
これで、いろんなデータをテーブルに入れてることができるようになりました。
このテーブルのデータを使って、ブログに表示できるようにしていきたいと思います。
コメント