SQLiteメモ

準備

sudo apt-get update
sudo apt-get install sqlite3

基本

DBへの作成、接続
sqlite3 xxx

情報確認
.schema

終了
.exit

データの種類

格納するデータそのものにStorage Classesが定義される。
カラムのデータ型とは違う(カラムに複数のデータが入る)

・NULL
・TEXT
・INTEGER
・REAL
・BLOB

カラムに推奨されるデータ型(Type Affinity)を定義でき、格納時にデータ型を変換する。

・TEXT
NULL、TEXT、BLOBはそのまま。
数値を文字列に変換。

・NUMERIC
TEXTが入るとREALやINTEGERに変換。変換できないとTEXTのまま。
NULL、BLOBはそのまま。

・INTEGER
NUMERICと同じ。

・REAL
NUMERICと同じ。
整数の場合、小数に変換。

・BLOB
変換ナシ。

キーワード

PRIMARY KEY、ROWID、AUTOINCREMENT

INTEGER PRIMARY KEY
と設定しても自動で増加するが、以前使った値を再度使う。

INTEGER PRIMARY KEY AUTOINCREMENT
とすると、以前の値を使わない。

create table xxx (id integer primary key autoincrement)
のような感じ。

NOT NULL、UNIQUE、DEFAULT、CHECK

テーブルの作成、削除は標準
create,drop等。

例)
create table news (
id integer not null primary key autoincrement,
title text not null,
slug text not null,
text text not null
);

xamppでの利用

php.iniの以下コメント外す
extension=php_sqlite3.dll

application\config\database.php
の以下を修正

‘database’ => APPPATH.’sqlite/db’,
‘dbdriver’ => ‘sqlite3’,