Linux設定

SQLiteのインストール・設定・運用

https://vpshikaku.com/sqlite/

SQLiteの公式情報

公式サイト

SQLiteの用途

①サーバーとしての稼働・特別なインストールが必要ないのでWeb Frameworkのデフォルト設定のデータベースとして使用されたり
②携帯アプリのローカル保存の組み込みデータベースとして使われたり
③単純にローカルのファイルに保存するよりSQLが使えたりして便利

という事が評価されて、使われます。
MySQLの様なネットワーク型RDBと異なり、ネットワーク通信・サーバーとの会話を介さずに、実行プログラムと同一プロセス内でデータのやりとりをするので、処理は比較して高速です。
但し、それにより同時に複数の処理からアクセスされるDBとして使うと、排他処理(ロック)の範囲の大きさ等で機能として劣る部分は発生するので、特性をよく理解して使い分けをしましょう。

携帯等へのの組み込みが容易に出来るということもあり、世界で一番使われているデータベースと言われています。

インストール

Linuxだと大概最初から入っていますが、RedHat(CentOS)系だと

dnf install -y sqlite;

Ubuntu系だと

apt install -y sqlite;

でインストールできます。

DBへの接続

sqlite3 test.sqlite;

指定されるファイルが存在しなければ、それが生成されます。

テーブル構造の確認

mysqlだとshow create table テーブル名
postgresqlだと\d テーブル名:
にあたるコマンド

.schema テーブル名

shellからのsqlの実行

sqlite3 $DBファイル名 $sql;

vacuumによる削除の反映

sqliteは追記型なので、データを削除してもファイルサイズは小さくなりません。

sqlite3 $SqlDbFile vacuum;

と打つ事で、削除を反映してファイルを小さくする事が出来ます。

但し、ディスクとしてそのファイルと同等以上の空きがシステムで必要になるので、注意しましょう。
一時的にSqliteのファイルと同じサイズのファイルを作ってこの作業が行われるので。
その一時的に生成されるファイルを本体のデバイス以外のより空きのある所でやってもらいたい場合には

export TMPDIR=/.../...

で指定しましょう。