お問合せシステムの構築~初めてのxamppとphpとmysql~(3)
1. mysqlを学ぶ
まず, xamppのフォルダの中にある
文字化け対策で
xampp/mysql/bin/my.iniを変更
つぎに起動, runnningにっていることを確認し、adminを押す
ブラウザが起動しなかったら
で直接起動.
この画面がphpAdminである
本来はコマンドプロンプト上や
ターミナルでこの画面を操作するのだが
今回はブラウザ上でデータベースを作ってみる.
(こういう作り方もあるんだなぁ)
次にデータベースの名前を決めて
データの照合順序をutf8_unicode_ciに設定する。
generalとunicodeの違いは
・utf8-general-ci:比較条件の拡張なし・utf8-unicode-ci:比較条件の拡張あり
これでphpkisoという名前のデータベースが出来上がり
すごいかんたん。
GUI上だから臆することなく作れる
2. テーブルを挿入してみる
次にデータベースの中にテーブルという表を作ってみる
テーブル: エクセルでいうシートのようなもの。
ただし、エクセルとは異なりA~~Bとか1~~1000みたいに行列について
その中身がなんの形式か(フィールド)、
サイズはいくらかを初めに指定しなければならない
今回は名前、メルアド、意見の三つがフィールドになる
のではなく、もし仮にたくさんのご意見をいただくことになるのなら
コード(ex : お客様コードや学籍番号)でひとくくりに
まとめれば参照や並び替えも簡単になるはず。
なのでここでは4つのフィールドを作成する.
フィールド名 : code, nickname, email, goiken
データ種別 : INT, VARCHAR, VARCHAR, VARCHAR
文字数 :空白, 20, 50, 50
インデックス : PRIMARY, 空白, 空白, 空白
A_I : チェック, 空白, 空白, 空白
INTは整数値を意味していて, VARTCHARは文字列を表す
VARCHAR : Variable Characterの略で
文字列の長さが可変であるときに使う
メールアドレスや意見は基本的に入力するユーザによって
可変になるので今回はこのように設定
charとvarcharの違いについては
参照。
インデックスは索引を表していてソートを行ったり,
検索を行ったりする際に便利になる機能である.
PRIMARYは1テーブルに1個しか設定できないインデックス。
言い換えるとテーブルを代表とするフィールドをPRIMAYに設定する。
さらに、PRIMARYは重複してはいけないので、
基本的には名前(同姓同名)やメールアドレス(重複してしまう問題)は使えない。
なのでcodeをPRIMARYにしました.
A_IはAUTO INCREMENTの略で自動で通し番号を振ってくれる機能のこと。
aさんというデータの一式が追加された ->code は 1
bさんというデータの一式が追加された ->code は 2
というように自動で数字を1つインクリメントしてくれるのでA_I
これによって今後出てくるSQL文でデータを挿入する際にはcodeを考慮しなくても自動で振ってくれる.
3. データを挿入してみる
admin画面のsqlをクリックして
INSERT INTO anketo(nickname, email, goiken)VALUE("ほんだ", "honda@monya.com","おいしかったどす")
とうつと, ちゃんとデータ一式が挿入されています.
しかもコードもちゃんとA_Iされて挿入されています
ざっくりコードを読むと
"anketoのフィールド三つにそれぞれのVALUEをINSERT(挿入)する"
という直感的にわかりやすい文がSQL文となっています.
わりかしこの本を読むまでビビっていたが
データ挿入するくらいならまだ難しくないのかも・・・
たぶんソートとかし始めるとややこしいんだろうな。
次からはadmin画面から直接打つのではなく
phpでデータベースを動かしていく.