![見出し画像](https://assets.st-note.com/production/uploads/images/83608624/rectangle_large_type_2_ff23f1d2cbe60a04f729d02e7f8da1ea.jpeg?width=800)
【 PHP学習 #26 】 データベース編② 「phpMyAdmin」 FIREへの旅路 ♯480
データベースを操作する方法として、
MAMPを使って、phpMyAdminを使う方法を学びます。
【 phpMyAdmin 】
phpMyAdminを使って、データベースを作ります。
以前に作ったフォームのデータをデータベースに保存します。
※ この記事から作り込んでいるフォームです。
< 手順 ① データベースを作る >
![](https://assets.st-note.com/img/1657694817224-XuX6lqR4gf.png?width=800)
MAMP → Tools → phpMyAdmin
![](https://assets.st-note.com/img/1657694922434-X0cYkd2Z8H.png?width=800)
新規作成 → データベース名を入力 → 作成
![](https://assets.st-note.com/img/1657695228088-AnBFM5QnGC.png)
データベースが作られました。
< 手順 ② テーブルを作る >
今回は、コンタクトフォームのデータを保存していくので、
「contacts」という名前のデータベースを作ります。
![](https://assets.st-note.com/img/1657695854503-tlH8z4pet7.png?width=800)
▶︎ テーブルの名前の決め方
・小文字に統一
データベースには、大文字小文字の判別が不可能なものあるため
・複数形にする
PHPの、foreach文で展開することを想定して複数形にしておきます。
▶︎ カラム数
カラムは、エクセルでいう列(縦)でした。
いくつ必要かを確認します。
以前に作った、コンタクトフォームを見てみましょう!
![](https://assets.st-note.com/img/1657696035175-ZhClQgPM2x.png)
このフォームで保存したいデータは、
1.氏名 name = "your_name " type = "text"
2.メールアドレス name = "email" type =" text"
3.ホームページ name = "url" type = "url"
4.性別 name = "gender" type="radio"
5.年齢 name = "age" type="radio"
6.お問い合わせ内容 name = "contact" (textarea)
この6つの項目でので、
必要なカラム数は、6つです。
また、日付も保存しておきたいので、日付の項目用のカラムを追加して、
7つです。
しかし、
データベースの管理では、さらにもう少し必要な項目があります。
■ UNIQUE 制約
テーブルを作成するときにカラムに UNIQUE 制約をつけることでカラムに重複した値を格納することができなくなります。
このため、IDを管理するカラムを用意しておきます。
これで、合計8個のカラムを用意します。
![](https://assets.st-note.com/img/1657696593308-IJ5TGbZrZM.png?width=800)
カラム数を8にして、
「実行」ボタンをクリックで、カラムが完成です。
![](https://assets.st-note.com/img/1657696839007-XfAFPveBA6.png?width=800)
< 手順 ③ カラムを作る >
カラムを作っていきます。
▶︎ 名前
コンタクトフォームの入力項目と、IDと、日付のカラムを作るので、
まずは、名前を入力していきます。
![](https://assets.st-note.com/img/1657697487344-pRyWbVHVn1.png?width=800)
ID は id です。
日付は、created_at です。
その他は、フォームのnameと同じ名前にします。
▶︎ データ型
カラムを作成する際に、データ型を決めておく必要があります。
また、文字数の検討も必要です。
データ型をクリックすると、選択ができます。
![](https://assets.st-note.com/img/1657698168359-rOqw8Ayshg.png?width=800)
・数字
整数(int) 少数(float)
金額の場合、整数かdecimalを選ぶ
・文字列 varchar
・真偽値 boolean
適切なデータ型を選択する必要があります。
データ型は以下の通りです。
![](https://assets.st-note.com/img/1657699359761-DaD2GWJQi2.png?width=800)
id
データ型 int を選択
・ インデックスを追加
カラム一覧ページの中間に「インデックスを追加する」項目がるので、[実効]をクリックして、
インデックス名:PRIMARY
インデックスの選択:PRIMARY
[実行] をクリックします。
![](https://assets.st-note.com/img/1657699741900-f6VfUh6tCf.png?width=800)
![](https://assets.st-note.com/img/1657699635325-H8fevom8wj.png?width=800)
・A_I
カラムの設定に戻り、A_I の項目にチェックします。
A_I は、auto increment の略です。
自動で一つずつ増やしていく処理です。
![](https://assets.st-note.com/img/1657699460554-GHbEi3MAp7.png?width=800)
your_name
データ型 VARCHAR を選択
長さ 20 を指定
■ varcahar
長さの制限のある文字列の場合に選択
※ 長さを20としたのは、氏名の文字数制限を20にしていたからです。
データ型 VARCHAR を選択
長さ 255 を指定
url
データ型 TEXT を選択
■ TEXT
文字数制限のないテキストデータの場合
gender
データ型 BOOLEAN を選択
genderは、男性なら0、女性なら1という形に指定していたので、
二択になります。この場合は、真偽値booleanで指定します。
age
データ型 TINYINT を選択
ageは、年齢を選択する形でフォームを作りました。
![](https://assets.st-note.com/img/1657700726259-iHbPLHJzhg.png)
このように、6つの項目から選択しますので、短い整数になるので、
TINYINTを選択します。
■ TINYINT
短い数字の場合に選択する
contact
データ型 VARCHAR を選択
長さ 200 を指定
contactは、200文字以内で、問い合わせ内容を書いてもらうので、
VARCHARで、 長さを200とします。
create_at
データ型 TIMESTAMP を選択
create_atでは、日付を保管するのですが、
時間も保管したいので、TIMESTAMP を選択します。
【 まとめ 】
ここまでで、コンタクトフォームに対応するデータベースが完成しました。
次回以降もデータベースについて学びます!!
☆☆ポートフォリオサイト更新しました☆☆
この記事が気に入ったらサポートをしてみませんか?