職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

SQLiteのビュー

2015年07月16日 | sqlite
SQLiteのビュー

ビューは
作成済みのテーブルの中のカラムやデータ取得の条件を指定して作成した仮想的なテーブルの事。 まず、サンプルを作る。

C:\Users\hnaka>cd c:\xampp\sqlite
c:\xampp\sqlite>sqlite3 myfriend.sqlite3
SQLite version 3.8.10.2 2015-05-20 18:17:19 Enter ".help" for usage hints. sqlite

sqlite> create table user6(id integer, name text, address text, old integer);
sqlite>  insert into user6 values(1,'Honda','Tokyo',23);
sqlite> insert into user6 values(2,'Tani','Tokyo',19);
sqlite> insert into user6 values(3,'Furuta','Osaka',33);
sqlite> insert into user6 values(4,'Suzuki','Tokyo',24);
sqlite> insert into user6 values(5,'Yamada','Fukuoka',18);

sqlite> テーブルを元にビューを作成
sqlite> create view tokyouser as select id, name from user6 where address = 'Tokyo';

sqlite> select * from tokyouser;
1|Honda
2|Tani
4|Suzuki

sqlite> select id, name from user6 where address = 'Tokyo';

1|Honda
2|Tani
4|Suzuki

ビューの元になっているテーブルにデータを1つ追加
sqlite> insert into user6 values(6,'Ogi','Tokyo',17);

sqlite> select * from user6;
1|Honda|Tokyo|23
2|Tani|Tokyo|19
3|Furuta|Osaka|33
4|Suzuki|Tokyo|24
5|Yamada|Fukuoka|18
6|Ogi|Tokyo|17

sqlite> select * from tokyouser;
1|Honda
2|Tani
4|Suzuki
6|Ogi

ビューtokyouserにデータ入力
sqlite> insert into tokyouser values(8,'Nagao');
Error: cannot modify tokyouser because it is a view→エラー

ビューの削除
削除前
sqlite> .tables
address personal2 tokyouser user2 user4 user6 personal product user user3 user5
tokyouser削除
sqlite> drop view tokyouser;
削除後
sqlite> .tables
address personal2 user user3 user5 personal product user2 user4 user6
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする