macのターミナルで操作
DBファイルを開く
コマンドプロンプトに入る。
% sqlite3 hoge.db
コマンドプロンプトを抜ける
sqlite> .quite
もし、quitとしてしまって抜けなくなった場合、;をタイプして行を終了させる。
テーブル一覧表示
sqlite> .table
all_logs test_table
テーブル内の一覧表示
sqlite> select * from mytable;
PHPからの操作
DBファイルを開く
// 存在していたら開きます。存在していなければ新規作成.
$db_log = new SQLite3("./db/log_0.db");
// 何らかの処理.
// 閉じます.
$db_log->close();
テーブルを作成
$createTable = 'CREATE TABLE IF NOT EXISTS all_logs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
created_at TEXT NOT NULL,
log_text TEXT
)';
$ret = $db_log->exec($createTable);
プリペアドステートメントでデータ追加
$sql_newlog = $db_log->prepare("INSERT INT all_logs (created_at, log_text) "
."VALUES (:created_at, :log_text)");
$sql_newlog->bindValue(':created_at', date('Y-m-d H:i:s'), SQLITE3_TEXT);
$sql_newlog->bindValue(':log_text', "ログテスト001", SQLITE3_TEXT);
$result = $sql_newlog->execute();
データを取得
$query = "SELECT * FROM $log_table";
$result = $db_log->query($query);
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
echox("ID: " . $row['id'] . ", created_at: " . $row['created_at'] . ", log_text: " . $row['log_text'] . "\n");
}