tomの開発メモ

pythonやrubyやjavascript他の学習をメモしていく日記。その他、デイリーで起こったことの殴り書き。

SQL初心者向けな練習サイト

SQLをよくよく考えてみると、経験はあるものの、体系的に学習した覚えがない。
必要な物事は全て実務でやって覚えてきた。

そんなわけで、SQLの初心者に向けて使えそうなサイトを見つけて、復習がてら遊んでみた。

今回試したのは以下のサイト
www.codecademy.com

ユーザー登録は必要、英語も必要(だけど難しい英語は何一つとしてない)。sqliteを使用。

SELECT * FROM table_name;

table_nameテーブルから全てのフィールドを選択

SELECT column1, column2, ...
FROM table_name;

先ほどとは逆に、指定したテーブルのフィールドを選択

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);

データベースに新しいテーブルを作る。
columnXはカラム名のこと。IDとか、nameとかが、実務上では入ってくると思う。
datatypeは、integerとか。詳しくは「(DB名) datatype」とかでググってみる。

INSERT INTO celebs (id, name, age) VALUES (1, 'Justin Bieber', 21);

insert文。

INSERT INTO (table_name) (hoge1,hoge2,hoge3) values(fuga1,fuga2,fuga3)
みたいな感じで、hogeカラム名、fugaはinsertされるパラメータ。

UPDATE celebs 
SET age = 22 
WHERE id = 1; 

UPDATEでcelebsってテーブルを指定する。
SETで編集するカラム名を指定して、更新後の値をイコールのあとに入力する。
WHEREで更新するrowを指定する。上記の例だとカラム名がIDで、ID=1のレコードが22に更新されることになる。

ALTER TABLE celebs 
ADD COLUMN twitter_handle TEXT;

ALTER TABLEでテーブルを指定する。
ADD COLUMN X Y でXには追加するカラム名、Yにはデータタイプを指定する。

DELETE FROM celebs WHERE twitter_handle IS NULL;

DELETE FROM テーブル名、
WHERE以下で、twitter_handleってカラムがIS NULLのレコードを指定して、削除。


一通り(10問)終えると、クイズがある。スキップも可能。


どうやら、無料では10問解き終えたら終わりな様子。有料(プロ)ではもっと多くの問題があるけども。
簡単でした。もうちょっと歯ごたえあるものを探そう。