|
コレの続きです。
レコードの追加 (INSERT)
- 構文
INSERT INTO テーブル名 (カラム名1, カラム名2) VALUES(値1, 値2);
- 文字列を入力する場合は、「"」ダブルクォーテーションで囲う
- コマンドの最後には、必ず「;」コロンをつける
- カラム数と順番が同じであれば、カラム名を省略可能
- 例(正式版)
sqlite> INSERT INTO t_menu (id, name) VALUES(1, "イチゴミルク");
これで1つのレコードが追加されました。
- 例(省略版)
sqlite> INSERT INTO t_menu VALUES(2, "イチゴパフェ");
- 例(連続版)
sqlite> INSERT INTO t_menu VALUES(3, "イチゴアイス"); INSERT INTO t_menu
VALUES(4, "まるごとイチゴ");
sqlite>
レコードの抽出 (SELECT)
- 構文
SELECT カラム名 FROM テーブル名;
- カラムの代わりに「*」アスタリスクを指定すると、全てのカラムを意味する
- オプション設定
sqlite> .header ON
sqlite> .explain ON
としておくと、一覧表示時に見やすい(人によるかも..)
- 例
sqlite> SELECT * FROM t_menu;
id name
---- -------------
1 イチゴミルク
2 イチゴパフェ
3 イチゴアイス
4 まるごとイチゴ
sqlite> SELECT name FROM t_menu;
name
----
イチゴミルク
イチゴパフェ
イチゴアイス
まるごとイチゴ
レコードの検索(WHERE)
比較演算子編
- 例(=)
sqlite> SELECT * FROM t_menu WHERE id=3;
id name
---- ---------------
3 イチゴアイス
sqlite> SELECT * FROM t_menu WHERE name="イチゴアイス";
id name
---- ---------------
3 イチゴアイス
- 例(>)
sqlite> SELECT * FROM t_menu WHERE id>3;
id name
---- ---------------
4 まるごとイチゴ
- 例(≧)
sqlite> SELECT * FROM t_menu WHERE id>=3;
id name
---- ---------------
3 イチゴアイス
4 まるごとイチゴ
- 例(!=)
sqlite> SELECT * FROM t_menu WHERE id<>3;
id name
---- ---------------
1 イチゴミルク
2 イチゴパフェ
4 まるごとイチゴ
算術演算子編
- 例(+)
sqlite> SELECT * FROM t_menu WHERE id=1+2;
id name
---- ---------------
3 イチゴアイス
sqlite> SELECT * FROM t_menu WHERE id+1=3;
id name
---- ---------------
2 イチゴパフェ
あいまい検索編
- 文字列の一部のみを指定して条件設定
- LIKE と % を使用する
- 例
sqlite> SELECT * FROM t_menu WHERE name LIKE "%アイス";
id name
---- ---------------
3 イチゴアイス
- 不明な文字数が分かっている場合は、1文字を「_」アンダーバーで
置き換えることができる
論理演算子編
- 2 つ以上の条件式を満たすように指定できる
- 全ての条件式を満たす必要がある場合、「AND」を使用
- いずれかの条件を満たせばよい場合、「OR」を使用
- AND
sqlite> SELECT * FROM t_menu WHERE id=3 AND name="イチゴアイス";
id name
---- ---------------
3 イチゴアイス
- OR
sqlite> SELECT * FROM t_menu WHERE id<2 OR id>3;
id name
---- ---------------
1 イチゴミルク
4 まるごとイチゴ
- 両方使用
sqlite> SELECT * FROM t_menu WHERE id<2 OR (id>3 AND name="まるごとイチゴ");
id name
---- ---------------
1 イチゴミルク
4 まるごとイチゴ
否定論理演算子編
- 例
sqlite> SELECT * FROM t_menu WHERE NOT id<3;
id name
---- ---------------
3 イチゴアイス
4 まるごとイチゴ
比較演算子編
- 例
sqlite> SELECT * FROM t_menu WHERE id IN(1,4,5,8);
id name
---- ---------------
1 イチゴミルク
4 まるごとイチゴ
- 範囲を指定して取り出す場合に便利な BETWEEN...AND...
- 例
sqlite> SELECT * FROM t_menu WHERE id BETWEEN 2 AND 4;
id name
---- -------------
2 イチゴパフェ
3 イチゴアイス
4 まるごとイチゴ
エイリアス使用したカラム表示
- テーブルを作成時のカラム名の代わりに、別の名前を表示する
- 例
sqlite> SELECT name AS dessert FROM t_menu;
dessert
----------------
イチゴミルク
イチゴパフェ
イチゴアイス
まるごとイチゴ
レコードの並び替え
- SELECT文で取り出したレコードの表示順番を操作できる
- デフォルトは昇順、アルファベット順である
- 例1
sqlite> SELECT * FROM t_menu ORDER BY id;
id name
---- -------------
1 イチゴミルク
2 イチゴパフェ
3 イチゴアイス
4 まるごとイチゴ
- 例2
sqlite> SELECT * FROM t_menu ORDER BY name;
id name
---- -------------
4 まるごとイチゴ
3 イチゴアイス
2 イチゴパフェ
1 イチゴミルク
- 逆に降順に並び替える場合は、DESC(descendant)を指定する
- 例3
sqlite> SELECT * FROM t_menu ORDER BY id DESC;
id name
---- -------------
4 まるごとイチゴ
3 イチゴアイス
2 イチゴパフェ
1 イチゴミルク
レコードの変更
- 文法
UPDATE [テーブル名] SET カラム名=値 WHERE節;
- 例
sqlite> SELECT * FROM t_menu;
id name
---- -------------
1 イチゴミルク
2 イチゴパフェ
3 イチゴアイス
4 まるごとイチゴ
sqlite> UPDATE t_menu SET name="イチゴプリン" WHERE id=3;
sqlite> SELECT * FROM t_menu;
id name
---- -------------
1 イチゴミルク
2 イチゴパフェ
3 イチゴプリン
4 まるごとイチゴ
レコードの削除
- WHERE節で指定してレコードを削除する
- 指定を忘れると、全てのレコードが削除される
- 文法
DELETE FROM [テーブル名] WHERE節;
- 例
sqlite> DELETE FROM t_menu WHERE id=3;
sqlite> SELECT * FROM t_menu;
id name
---- -------------
1 イチゴミルク
2 イチゴパフェ
4 まるごとイチゴ
|
|