====== SQLite3 ====== 1ファイルの軽量のデータベース。アプリケーションに組み込んで利用されたりする。 ===== セキュリティ ===== ファイルパーミッションに依存 ===== REPLACE not UPSERT ===== SQLiteの「REPLACE INTO」((実体は"INSERT OR REPLACE"))を「UPSERT」相当と紹介する記事があるが、実際には「REPLACE INTO」は「DELETE and INSERT」に相当するので注意。\\ 例: ^tableA^^^ ^*col1^col2^col3^ |ABC|DEF|GHI| ※col1がPrimaryKey に対して以下のSQLを発行 REPLACE INTO tableA(col1, col2, col3) VALUES ('ABC', 'DDD', 'EEE') 結果 ^tableA^^^ ^*col1^col2^col3^ |ABC|DDD|EEE| 次に以下のSQLを発行 REPLACE INTO tableA(col1, col2) VALUES ('ABC', 'ZZZ') 結果 ^tableA^^^ ^*col1^col2^col3^ |ABC|ZZZ|NULL|