SQLiteは、軽量で簡単に使えるデータベース・エンジンです。SQLiteは、PHPをはじめPython、Adobe AIRなどで標準サポートされ、C/C++/Perl/Rubyなど多くのプログラミング言語でバインディングが用意されています。またアプリケーションのデータストレージとして利用され、Movable Typeをはじめとしたブログ、FirefoxやiPhoneといった身近なツールでも活用されています。
  本書では、SQLiteの基本操作から、さまざまな言語/技術との連携方法を徹底解説します。さらにSQLiteで使えるコマンドやSQL文をリファレンスとしてまとめているため、アプリケーション開発でSQLite活用したいユーザーや、データストレージとしてSQLiteを選択したいユーザーにぴったりの1冊です。 
1 SQLiteとは
  
  1.1 SQLiteの特徴
  1 30秒でわかるSQLiteの特徴
  2 幅広い技術でのサポート
  3 手軽に利用できる
  4 機能が充実している
  5 使用時に注意すべき点
  1.2 データベースの特徴
  1 データベースの構成
  2 データ型は問われない
  3 バージョン2のデータ型
  4 バージョン3のデータ型
  5 フィールドの照合順
  6 INTER PRIMARY KEY
  7 ROWID
  8 AUTOINCREMENT
  9 日付や時刻の特徴
  1.3 データベースの操作方法
  1 コマンドラインツール
  2 GUIツール
  3 SQL文のサポート
  4 関数のサポート
  5 トランザクション
  6 ロックの種類
  1.4 データベース管理のヒント
  1 データベースの管理に役立つコマンド
  2 データベースのバックアップ
  3 データのインポートとエクスポート
  4 パフォーマンスチューニング
2 コマンドラインからSQLiteを操作する
  
  2.1 SQLiteのコマンドラインツール
  1 まずはSQLiteを体験
  2 コマンドラインツールを起動する
  3 ファイルに記述したSQL文を実行する
  4 実行結果の表示モードを設定する
  2.2 データベースの作成
  1 データベースを作成する
  2 データベースの拡張子を指定する
  3 データベースのパスを指定する
  4 メモリ上にデータベースを作成する
  5 データベースに接続する
  6 データベースを削除する
  2.3 テーブルやビューの作成
  1 テーブルを作成する
  2 テーブルスキーマを確認する
  3 テンポラリテーブルを作成する
  4 フィールドの制約を定義する
  5 制約に反するデータに対処する
  6 フィールドを追加する
  7 テーブル名を変更する
  8 テーブル名を削除する
  9 ビューを作成する
  2.4 データの追加・変更・削除
  1 データを追加する
  2 データのインポートとエクスポート
  3 複数データベースをリンクする
  4 データを変更する
  5 データを置き換える
  6 データを削除する
  2.5 データの表示
  1 データを表示する
  2 データをソートする
  3 データを絞り込む
  4 データをグループ化する
  5 関数を使用する
3 さまざまな技術とSQLiteの連携
  
  3.1 PHP
  1 PHPのインストール
  2 メモ帳アプリケーション(SQLite関数)
  3 メモ帳アプリケーション(PDO関数)
  4 SQLiteからMySQLへの移行
  5 まとめ
  3.2 Ruby on Rails 2
  1 Ruby on Rails2のインストール
  2 メモ帳アプリケーションの作成
  3 アプリケーションの実行
  4 まとめ
  3.3 Adobe AIR
  1 データベースの作成
  2 プロジェクトの作成
  3 画面レイアウトの作成
  4 処理コードを記述
  5 アプリケーションの実行
  6 まとめ
  3.4 Firefox
  1 Firefoxが使用するSQLiteデータベース
  2 FirefoxアドオンのSQLite Manager
  3 PlacesデータベースにSQL文を実行
  4 Placesデータベースの最適化
  5 まとめ
  3.5 Movable Type4
  1 Berkeley DBからSQLiteへの移行
  2 SQLiteデータベースの読み込み
  3 ダイナミックパブリッシングの使用
  4 データベース移行スクリプトの代替手段
  5 データベースの肥大化への対応
  6 SQL文によるデータベースメンテナンス
  7 まとめ
  3.6 WordPress
  1 WordPressへのSQLiteの導入
  2 SQLiteからMySQLへの移行
  3 まとめ
4 SQLiteコマンドリファレンス
  
  4.1 SQLiteコマンド
  1 .bail エラー発生時に処理を停止する
  2 .databases データベースとファイル名を表示する
  3 .dump データベースをダンプする
  4 .echo コマンド出力を設定する
  5 .exit コマンドラインツールを終了する
  6 .explain EXPLAIN文の出力を設定する
  7 .header ヘッダの出力を設定する
  8 .help コマンドを一覧表示する
  9 .import データベースにファイルをインポートする
  10 .indices テーブルのインデックスを出力する
  11 .load 外部ライブラリをロードする
  12 .mode 出力モードを設定する
  13 .nullvalue NULLを置き換える文字列を指定する
  14 .output 実行結果の出力先を設定する
  15 .prompt 標準のプロンプトを置き換える
  16 .quit コマンドラインツールを終了する
  17 .read ファイルのSQL文を実行する
  18 .schema スキーマ情報を表示する
  19 .separator フィールド区切り文字を設定する
  20 .show 現在の設定値を出力する
  21 .tables テーブルを一覧表示する
  22 .timeout タイムアウト値を設定する
  23 .width フィールド幅を設定する
  4.2 SQL文
  1 コメント コメントを記述する
  2 ALTER TABLE テーブル構造を変更する
  3 ANALYZE インデックス情報を収集する
  4 ATTACH DATABASE データベースを追加する
  5 BEGIN TRANSACTION トランザクションを開始する
  6 COMMIT TRANSACTION トランザクションをコミットする
  7 COPY データをインポートする
  8 CREATE INDEX インデックスを作成する
  9 CREATE TABLE テーブルを作成する
  10 CREATE TRIGGER トリガーを作成する
  11 CREATE VIEW ビューを作成する
  12 DELETE データを削除する
  13 DETACH DATABASE データベースを切り離す
  14 DROP INDEX インデックスを削除する
  15 DROP TABLE テーブルを削除する
  16 DROP TRIGGER トリガーを削除する
  17 DROP VIEW ビューを削除する
  18 END TRANSACTION トランザクションを終了する
  19 EXPLAIN SQL文を解析する
  20 INSERT データを追加する
  21 REINDEX インデックスを再作成する
  22 REPLACE データを置き換える
  23 ROLLBACK TRANSACTION トランザクションをロールバックする
  24 SELECT データを取得する
  25 UPDATE データを変更する
  26 VACUUME 不要領域を回収する
  4.3 関数/定数
  1 abs 絶対値を返す
  2 avg 平均値を求める
  3 coalesce NULL以外の最初の値を返す
  4 count 件数を求める
  5 date 日付を返す
  6 datetime 日付・時刻を返す
  7 glob 文字列をパターン検索する
  8 group_concat 同じグループのデータを1行で出力する
  9 ifnull NULL以外の最初の値を返す
  10 julianday ユリウス積算日を返す
  11 hex データを16進数形式で出力する
  12 last_insert_rowid 最後に追加されたROWIDを返す
  13 length 文字列の長さを返す
  14 like 文字列をあいまい検索する
  15 load_extension 外部ライブラリをロードする
  16 lower 文字列を小文字に変換する
  17 ltrim 文字列の左側から文字を切り除く
  18 max 最大値を求める
  19 min 最小値を求める
  20 nullif 異なる2値の最初の値を返す
  21 quote クォーテーションを付加する
  22 random 乱数を生成する
  23 randombiob blobデータをランダムに生成する
  24 replace 文字列を置き換える
  25 round 数値を丸める
  26 rtrim 文字列の右側から文字を切り除く
  27 sqlite_version SQLiteライブラリのバージョンを返す
  28 strftime 日付・時刻をフォーマットする
  29 substr 文字列の一部を返す
  30 sum 合計を求める
  31 time 時刻を返す
  32 trim 文字列の左右から文字を切り除く
  33 total 合計を求める
  34 typeof データ型を返す
  35 upper 文字列を大文字に変換する
  36 zeroblob blob型のOを生成する
  37 日付・時刻定数 日付・時刻を取得する
  4.4 PRAGMAコマンド
  1 auto_vacuum 自動VACUUMを設定する
  2 cache_size キャッシュサイズを設定する
  3 case_sensitive_like LIKE句の動作を設定する
  4 count_changes 更新件数を返すかどうかを設定する
  5 datacase_list データベース情報を取得する
  6 default_cache_size キャッシュサイズの既定値を設定する
  7 empty_result_callbacks 結果セットが空の場合の動作を設定する
  8 encoding 文字コードを設定する
  9 foreign_key_list 外部キーの情報を取得する
  10 freelist_count 空きページ数を取得する
  11 full_column_names フィールド名を長い形式で返す
  12 fullfsync 同期メソッドを使用するかを設定する
  13 uncremental_vacuum 指定ページ数のディスクを開放する
  14 index_info インデックス情報を取得する
  15 index_list インデックスリストを取得する
  16 integrity_check データベースの整合性をチェックする
  17 journal_mode ジャーナルファイルの使用法を設定する
  18 journal_size_limit ジャーナルファイルの最大値を設定する
  19 legacy_file_format データベースの互換性を設定する
  20 locking_mode ロックモードを設定する
  21 page_count データベースのページ数を取得する
  22 page_size ページサイズを設定する
  23 parser_trace パーサのトレースを設定する
  24 quick_check データベースの整合性を簡易的にチェックする
  25 max_page_count 最大ページ数を設定する
  26 read_uncommitted トランザクションの分離レベルを設定する
  27 schema_version スキーマバージョンを設定する
  28 short_column_names フィールド名を短い形式で返す
  29 synchronous 同期モードを設定する
  30 table_info テーブル情報を取得する
  31 temp_store テンポラリテーブルの作成場所を設定する
  32 temp_store_directory テンポラリテーブルの保存場所を設定する
  33 user_version ユーザーバージョンを設定する
  34 vdbe_trace データベースエンジンのトレースを設定する
  35 vdbe_listing プログラム出力を設定する
APPENDIX UGUIツールの活用
  
  AP.1 TkSQLiteによるデータベースの作成
  1 データベースの作成
  2 テーブルの作成
  3 フィールドの作成
  4 データの追加
  5 プログラムとの連携
  6 データのインポート
  7 データのエクスポート
  8 データの更新
  9 データの削除
  10 データベースの最適化
  11 まとめ
  AP.2 PupSQLiteによるインポートの効率化
  1 Excelファイルのインポート
  2 MySQLデータベースのインポート
  3 インポート時の典型的な課題
  4 フィールド数の不一致に対処する
  5 主キーの重複に対処する
  6 まとめ
高倉礼 さん
2021-09-30
SQLiteの特徴がしっかり記述されていてよかったです。とりあえずSQLiteの特徴を知りたいならこれを読めば良さそう なお、リレーショナルデータベースは別の本で勉強してね〜という感じでした