HONDAのAndroid アプリ, Web アプリ開発忘備録

このブログはHONDAがAndroidアプリの開発開始と同時に作成したもので忘備録として記しています。最近Web系に就職が決まったのでwebアプリも勉強していきます。

お問合せシステムの構築~初めてのxamppとphpとmysql~(3)

1. mysqlを学ぶ

まず, xamppのフォルダの中にある
文字化け対策で
xampp/mysql/bin/my.iniを変更
 

f:id:havoc0214:20160716020252p:plain

 

f:id:havoc0214:20160716020306p:plain

 

つぎに起動, runnningにっていることを確認し、adminを押す
ブラウザが起動しなかったら
で直接起動.
 

f:id:havoc0214:20160716114145p:plain

この画面がphpAdminである

本来はコマンドプロンプト上や

ターミナルでこの画面を操作するのだが

今回はブラウザ上でデータベースを作ってみる.

(こういう作り方もあるんだなぁ)

 

次にデータベースの名前を決めて
データの照合順序をutf8_unicode_ciに設定する。
 
generalとunicodeの違いは

blog.goo.ne.jp

・utf8-general-ci:比較条件の拡張なし
・utf8-unicode-ci:比較条件の拡張あり
 
これでphpkisoという名前のデータベースが出来上がり
すごいかんたん。
GUI上だから臆することなく作れる
 

2. テーブルを挿入してみる

f:id:havoc0214:20160716160921p:plain

次にデータベースの中にテーブルという表を作ってみる
テーブル: エクセルでいうシートのようなもの。
ただし、エクセルとは異なり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をクリックして

f:id:havoc0214:20160716162544p:plain

INSERT INTO anketo(nickname, email, goiken)VALUE("ほんだ", "honda@monya.com","おいしかったどす")
 

f:id:havoc0214:20160716164150p:plain

とうつと, ちゃんとデータ一式が挿入されています.
しかもコードもちゃんとA_Iされて挿入されています
ざっくりコードを読むと
 
"anketoのフィールド三つにそれぞれのVALUEをINSERT(挿入)する"
 
という直感的にわかりやすい文がSQL文となっています.
わりかしこの本を読むまでビビっていたが
データ挿入するくらいならまだ難しくないのかも・・・
たぶんソートとかし始めるとややこしいんだろうな。
 
次からはadmin画面から直接打つのではなく
phpでデータベースを動かしていく.