こんにちは!低スペック人間です。
はい、おはようございます。自分をHTMLだと思っているただの低スペック人間です。世の中には色々なことを言い訳にして生きている人間がいますが僕もその一人です。
僕は……そう……。
_人人人人人人人人人人人人人人人人人人人人人人人人_
> 自分をHTMLと思ってるただの低スペック人間 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
HTML (HyperText Markup Language) はウェブのもっとも基本的な構成要素です。 HTML はウェブページの基本レイアウトに従ってウェブページのコンテンツを記述し定義するものです。 HTML に隣接する他の技術としては、ウェブページの表示や表現を記述するもの (CSS) または機能や振る舞いを記述するもの (JavaScript) があります。
というわけで、本日も低スペック人間と覚えるシークェル講座をやっていきましょう。はい、それじゃあカーンアカデミーの続きをやっていきます。
そうしたわけで今回はSQL回やっていきます。
内容としてはSQLの基本操作って感じの内容です。んで、今回もプロジェクトが付属していたのでそれやっていきます。どうでもいい話なんですけどエディタが色付きでなんとかしてくれるんでキーワードを大文字にしないで書いているんですけどやり方としか何が正しいんですかね。
■ ストアのDBをつくろう。
前回も同じの貼ったけどもこっちにもあったので一応。
www.khanacademy.org
こんな感じにテーブルを作るところから始めていきます。
CREATE TABLE customers ( id INTEGER PRIMARY KEY, name TEXT, );
ベースはこちらもSQLiteだそうで。前もどこかでぼやいてたような気がするんですけどSQLiteってBool型ないんですね……。ここ最近はJSONで何もかも処理してしまおうとか言う狂気の発想しか持ち合わせてなかったから全然そういうの頭回ってなかった。なんでも型用意されてるもんだとばかり思ってましたよ。
型名 | 説明 |
---|---|
NULL | NULL値 |
INTEGER | 整数 |
REAL | 小数 |
TEXT | テキスト |
BLOB | 入力データをそのまま |
これだけしかデータ型なかったんですね……。へー。
■ データ加工
作ったテーブルデータから必要な情報を抜き出せるかどうかみたいなプロジェクト。テーブルつくるの面倒だったんですけど、それ用にいじれるやつが用意されてるっぽいですね。
www.khanacademy.org
WERE句とかそういうのはまあいいとしてSQLiteの組込関数はなんか覚えられなかったんでここについでなんでまとめておくことにします。
・集計関数
関数 | 説明 |
---|---|
count | 行数をカウント |
sum | 合計を取得 |
avg | 平均を取得 |
max | 最大値を取得 |
min | 最小値を取得 |
なぜか平均の求め方をAVEで覚えててエラーめっちゃ出してた。
■ 有名人DB
有名人とかそういうの情報をまとめたDB作ろう的なやつ。
www.khanacademy.org
やりたいことはテーブルの結合とかそういう話です。
■ アプリをつくろう
www.khanacademy.org
今までは参照系いじってたけどこっちは更新系をいじっていきます。更新系を安全に処理するためにtransaction*1使えてきなことかいてありますので、たいしたことやってないけどもそれを使って書いてみます。
BEGIN TRANSACTION; -- 何かしらの処理 COMMIT;
これ。どっかでBEGINのまま放置すると放置するとDBが落ちるとか見たんだけど、そうなると何が安全なんだとかなる……。
ということで内容はそんな感じです。
おわり
*1:挿入されるデータを、交差点にある信号機みたいに好き勝手車が動いて衝突しないように流れを作ってくれるやつ