somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【SQLite】データベースとファイルの関係

データベースの作成をします。

データベース

下記のようにSQLiteを実行します。今回は、c:\sqliteから実行します。

sqlite3 ..\database_name.sqlite3

sqlite3に続く引数がデータベース名です。拡張子のようなものがついている理由は、データベースはデータベース名をファイル名とするファイルとして保存されるためです。つまり、このファイルはSQLiteによって作成されたことを示すためでもあります。

引数を相対パスで書いていることから想像できると思いますが、今回の場合はcドライブにファイルが作成されます。デフォルトでは、カレントディレクトリに作成されます。また、絶対パスで記述することもできます。

データベースファイルの作成

ただし、データベースを作成しただけではファイルは作成されません。テーブルを作成したときにファイルは作成されます。以下の方法で、簡易な記述でテーブルを作成します。

create tabele table_name(column);

このとき、データベースファイルがcドライブに作成されます。このファイルをコピーすることでバックアップも簡単に行なえます。

データ作成

コピーする前にデータを作成しておきます。

insert into table_name values(1);
insert into table_name values(2);

結果を表示します。

.header on;
select * from table_name;

作成されていることが分かります。.headerをonにしないとカラム名が表示されませんでした。

id
1
2

バックアップ

前述どおりファイルをコピーしてもいいですが、バックアップ用のコマンドもあります。

.backup ..\\backup.sqlite3

指定した場所にファイルが作成されています。ウィンドズの場合、ディレクトリのセパレータをエスケープする必要がありますので注意してください。

作成されたファイル(データベース)にアクセスし、select文を発行すると前回と同じ結果になりました。これで終了です。