SQLiteのメモ
SQLiteについて
php5にはSQLiteが同梱されている。 DBサーバーの準備など不要でファイル一つで管理できるので簡単。 私のような初心者には手軽で良いです。
SQLiteの特徴
- 動作が軽い
- 著作権がない
- DBサーバーの起動が必要ない
- ファイルが1つ
- パスワードがない
- 同時書き込みができない
- ローカルにファイルが保存されるので複数のウェブサーバーからアクセスできない
DB Browser for SQLiteについて
SQLiteは基本的にはコマンドラインで操作しますが、「DB Browser for SQLite」というソフトを利用するとGUIから操作できます。
私のようなコマンドラインが辛い人には便利です。
DB Browser for SQLiteの使い方
「New Database」ボタンを押す。
/database
配下にsqliteファイルを作成する(Laravelの場合)。
テーブルを作成する。
フィールドを追加するには「Add field」を押す。
フィールドの値を設定したら、「Write Change」ボタンを押します。
※フィールドを設定してもファイルには保存されていません。Write Change」を押して保存されます。
ダミーデータを入れてみます。
「Browse Data」タブから先程作ったusersテーブルを選択します。
「New Record」ボタンを押すことでレコードを追加することができます。
「Write Change」ボタンを押して変更を保存します。
フィールドの設定について
キー | 内容 |
---|---|
NN | Not Null。必ず値が入っている必要があります。 |
PK | Primary Key。レコードを特定する為に利用する為に利用します。主にidなどで利用。 |
AI | Auto Increment。自動で値が1ずつ増えていきます。主にidなど自動で設定するのに利用。 |
U | Unique。値がユニークでなる必要があります。 |
その他
DB Browser for SQLiteでDBの値を変更しても、ブラウザ側の値が変更されない場合があります。
その場合はDB Browser for SQLiteの「Open Database」で再度sqliteファイルを開き直すと反映されます。
コマンドラインでデータベースを作成/接続してみる
コマンドラインで作成してみます。
sqlite3 {データベース名}
でデータベースを接続(作成)する。
※指定のデータベースがない場合は新規で作成される。
// databaseフォルダに移動(Laravelの場合)
cd Laravel_app/databes
// SQLiteを作成
sqlite3 database.sqlite
// 確認
sqlite> .database // /Users/username/Desktop/Laravel_app/database/database.sqlite
設定を表示してみる
SQLite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: list
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "\n"
stats: off
width:
filename: database.sqlite
終了してみる
.exit
テーブルを作ってみる
sqlite> create table users(
id integer primary key autoincrement,
name text not null
mail text,
age integer
);
テーブルを確認してみる
sqlite>.tables
schemaを確認してみる
sqlite> .schema {table_name}
テーブルにデータを入れてみる
sqlite> insert into users velues(1,"佐藤太郎")
テーブルのデータを見てみる
sqlite> select * from users;