※Sqlite3に関する初歩的な備忘録です。
SQLとは?
- Sequential Query Language
- 表形式(リレーショナルな)データを扱う
- データの登録・検索・更新・削除(CRUD処理)が可能 ※CRUD処理とはCreate,Read,Update,Dreateの頭文字をとったもの
SQL文
- INSSERT文(データの登録)
- SELECT文(データの検索・表示)
- UPDATE文(更新)
- DELETE文(削除)
基本的にこの四つを使います。
リレーショナルデータベース
- 複数のテーブルを横断して検索ができる(リレーショナルの語源)
- SQLを使用して操作できるデータベース
- 複数人のユーザーデータから特定のユーザーのデータを抽出する。(ここではセキュリティ云々は考えない)
#主なRDMS
- MySQL,MariaDB
- PostgreSQL
- SQLite(今回使用する。手軽にSQLを使える。)
- Oracle
- SQLServer
#SQLの実行
- 対話式クライアント(コマンドで操作) ※ターミナル > sqlite3データベース名
- Webインターフェース(ブラウザからアクセス) ※MyWebSQL
- GUIアプリケーション ※Lita,PupSQLite
#使ってみる(対話式クライアント)
- sqlite3 database.sqlite
- create table user(id integer,name string)
- insert into user values (1,'桃太郎')
- insert into user values (2,'浦島太郎')
#コマンドプロンプトを立ち上げる
コマンドプロンプト
cd neomediaproject
sqlite3 database.sqlite
これで
コマンドプロンプト
sqlite>
sqlite3の対話式コマンドが立ち上がりますが
sqlite3 database.sqlite → sqlite3 でも立ち上がります。
コマンドプロンプト
sqlite> create table user(id integer, name string);
早速テーブルを作っていきたいと思いますので、
create table テーブル名(id integer, name string) とします。
コマンドプロンプト
sqlite> .tables
user
.tableとするとuserというテーブルが作られているのがわかります。
空のテーブルなのでINSERT文でデータを何個か登録していきます。
コマンドプロンプト
sqlite> insert into user values(1,"桃太郎");
sqlite> insert into user values(2,'浦島太郎');
sqlite> insert into user values(3,"金太郎");
userテーブルに三つのuser情報を追加していきます。
コマンドプロンプト
sqlite> select * from user;
1|桃太郎
2|浦島太郎
3|金太郎
select文で*(アスタリスクを使う)とテーブルに追加された情報一覧が表示されます。
select文では昇順降順なども使えます。
コマンドプロンプト
sqlite> select * from user order by id DESC
3|金太郎
2|浦島太郎
1|桃太郎
コマンドプロンプト
.exit
これでsqlite3の対話シェルから抜けることができます。もしくはCtrl+Cでも可