”未経験勉強会”では、エンジニア 未経験の人に1から教えている内容をログとして残しています。第一回から見れば、誰でもエンジニア になれるフローを目指しています。
前回までのあらすじ
wordpressの導入が完了しました、というかそれがこのブログなんですが。
以下の部分で詰まりましたが、パーマリンクを”基本”にすることで直りました。
https://office-obata.com/report/memorandum/post-4050/
ということで、次はこのブログで占いができるページを作っていきたいと思います。
設計方針
超簡単なフローでいくと以下のような感じ
- DBを作る
- テーブル作る
- API作る
- ページから投げて取得
- 表示
DBを作る
DBはwordpressで作られた物をついでに使ってしまうので省略
テーブル参照
そもそもDB、テーブルってなんですのんってことで、まず以下引用動画を見てくれればいいと思います。
今回は以下のようなテーブルを作っていきたいと思います。
まずは先ほどの引用動画をもとに
もう作成されているwordpressのユーザテーブルを取得結果ができるようにしていきます
ここで詰まった点
- コマンド抜けられない時はcontrol + C
- vi抜けられない時は :q! 書き込み時はwq!
- SQLの最後は ”;”
- 日本語の文字化け
- テーブル表示がグチャってなるのはウィンドウサイズの関係でバグではないよ
3についてはテーブル作成する前に行わないと、テーブル作成時に文字コードが設定されるので
作成前に解決することをオススメします
https://cpoint-lab.co.jp/article/201804/2683/
テーブルを作成してしまったら以下を参考にしてくだされ
https://qiita.com/taka_prog212/items/727b6efd47169f894c3f
テーブル作成
テーブル作成の前に確認する点がいくつかあります。
そもそもSQLの基本について引用動画をここで
また、CREATE文についてはここを見てみてください
https://www.dbonline.jp/mysql/table/index1.html
これを見た時に型ってなんだろうと思うと思いますので以下引用動画を参考にしてください
他言語の話ですが、どの言語にも共通する型の説明をしてくれています。
とりあえず int(数字の型) str(文字の型) ってのがわかれば良いと思います。
それでは本題のテーブル作成にうつっていきたいと思います
create table fortune(
id int primary key,
fortune varchar(30)
);
ちなみに、プライマリキー(そのテーブルに重複させたくないIDなどのカラムにつけるキー)にしたいカラムの後に、 primary keyつけるとそれが被るとエラーが出て、重複データをミスして登録することがなくなります。
間違えて重複データを登録することは良くありますし、後々検索処理でIDを使用するため
設定しておいてください。どのテーブルも概ねIDで設定しておけば問題ないと思います。
※重複したIDのレコードを登録しようとした際のエラー
mysql> insert into lucky_item values (1,'大吉');
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
mysql> insert into lucky_item values (2,'中吉');
ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'
mysql> insert into lucky_item values (3,'小吉');
ERROR 1062 (23000): Duplicate entry '3' for key 'PRIMARY'
これでテーブルが問題なく作成できるはずです。
レコードの挿入
今回作成したテーブルにレコードを追加していきます
追加文としてはいかになります。
insert into fortune values (1, '大吉');
同様にラッキーアイテムのテーブルを作成し、以下のような表示ができれば今回は終わりです!
まとめ
今回はテーブル作成からレコード挿入までやってみました。
結構ハードだったとは思うので、何度も繰り返し行い、理解を深めた方がいいかもしれませんね
こうならないように、せっかく時間もあるので僕も色々とできることがあれば
やっていきたいなと思っております。
次回はおそらく、phpの環境構築(github、sourctree含め)を初め
かなりプログラマーチックな内容になっていくとは思います。
それでは!
次回
コメントを残す