SQLite
insert into t1 (f1, f2, f3) values ('a1', 'b1', 'c1'), ('a2', 'b2', 'c2'), ('a3', 'b3', 'c3') ネタ元 https://www.gesource.jp/weblog/?p=6398
SQLiteは 暗黙のトランザクション処理とオートコミットといった機能があるのでお手軽な反面、 アクセスが頻繁な処理を作ると、思った以上の トランザクションの開始やコミットが発生し、ジャーナルファイルの生成と削除が 繰り返されるため、トランザクショ…
datetime('2019-05-04', '+2 days', '-4 hours')てな感じ ネタ元 https://www.dbonline.jp/sqlite/function/index6.html#section2
INSERT INTO my_table (name, modified_date) VALUES 'hogehoge', datetime('now', 'localtime'); ネタ元 https://pgmemo.tokyo/data/archives/952.html
":memory:"で指定して ";mode=memory;cache=shared"; を付けて使う public abstract class SqliteBase { public string ConnectionString; protected SqliteBase() { SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder { DataSour…
SyncMode=Off JournalMode=Memory または SyncMode=Off JournalMode=Wal が爆速。ただし、SyncMode=OFFにすると同期を取らなくなるので SyncMode=Normal JournalMode=Wal がベター。 ネタ元 https://devlights.hatenablog.com/entry/2014/02/01/151642
HDDと比べるとだいぶ差がある ネタ元 https://qiita.com/ytkj/items/33dc4f1b2df542eff3c9
ExecuteNonQuery() UPDATE、INSERT、DELETE、REPLACEとかで使う。 ExecuteReader() アクションと非アクションのクエリ(選択)で動作します ExecuteScalar() 集計関数を含む非アクションクエリで動作します。 ネタ元 https://atom1000.com/2018/10/13/execut…
ネタ元 http://yan-note.blogspot.com/2012/11/android-insertupdate.html
NULL NULL値 INTEGER 符号付整数。1, 2, 3, 4, 6, or 8 バイトで格納 REAL 浮動小数点数。8バイトで格納 TEXT テキスト。UTF-8, UTF-16BE or UTF-16-LEのいずれかで格納 BLOB Binary Large OBject。入力データをそのまま格納 ネタ元 https://www.dbonline.jp…
BLOB型に保存する ネタ元 https://qiita.com/ymko/items/8c883f21a05518706c57
ソースとDLLをダウンロード https://www.sqlite.org/download.htmlから Source Code と Precompiled Binaries for Windows をダウンロード sqlite3.libの作成 Visual Studio コマンドプロンプトを起動。 libコマンドで sqlite3.libを生成する。 パスはそれぞ…
select の入れ子 って感じに書く select avg(current) from (select current from tbl_data where code=9984 and date<=20160310 order by date DESC limit 5) items;ネタ元 http://stackoverflow.com/questions/1854383/select-average-from-mysql-table-wi…
PRAGMA integrity_check;ネタ元 http://taichino.com/engineer-life/database/4123
SQLite C言語向けAPI チートシートです。 http://qiita.com/katsugeneration/items/26a76f66a1c9cb1710f4
格納される値のデータ型 型 解説 NULL NULL値 INTEGER 符号付整数。1, 2, 3, 4, 6, or 8 バイトで格納 REAL 浮動小数点数。8バイトで格納 TEXT テキスト。UTF-8, UTF-16BE or UTF-16-LEのいずれかで格納 BLOB Binary Large OBject。入力データをそのまま格納…
デフォルトは、System.Data.SQLiteの場合SyncMode=Normal JournalMode=Default です。これをSyncMode=Off JournalMode=Memory にすると、爆速になります。またはSyncMode=Off JournalMode=Wal にしても同じくらい速くなります。SyncModeはNormalのままがいい…
INSERTでは、トランザクションをきちんと制御すべし。それでも遅い場合には、journal_modeをMEMORYにしてみるべし。ですね。ネタ元 http://uniunix.com/blog/?p=154
SQLite極短サンプルコード #pragma comment( lib, "sqlite3.lib" ) #include <tchar.h> #include <sqlite3.h> #include <stdio.h> // 抽出結果が返るコールバック関数 static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i</stdio.h></sqlite3.h></tchar.h>
select count(*) from sqlite_master where type='table' and name='<テーブル名>';ネタ元 http://o-tomox.hatenablog.com/entry/2013/09/28/194634
エラーメッセージをsqlite3_free()してないからでしょう res = sqlite3_exec(database, [sqlQueryStr UTF8String], NULL, NULL, &errorMsg); if (res != SQLITE_OK) { sqlite3_free(errorMsg); // <-これ sqlite3_close(database); NSLog(@"executeQuery Err…
INSERT OR REPLACE INTO userinfo (id) VALUES (1);ネタ元 http://d.hatena.ne.jp/ovjang/20110331/1301574587
対象のデータベースに接続してから「File」メニューの中の「Compact Database」メニューをクリックネタ元 http://www.dbonline.jp/sqlite-db-browser/manage/index1.html
ネタ元 http://d.hatena.ne.jp/calpo/20110315/p1
DBのロック状態の種類: (文中の「プロセス」は、正確には「プロセス、もしくはスレッド」を意味します。) UNLOCKED ロックされていない状態。誰も読み書きしていない。DBの初期状態。 SHARED read可、write不可な状態。複数プロセスが同時にSHAREDロック…