SQLite | データベース | 接続中のデータベースを確認する

SQLite で現在接続しているデータベースと、そのデータベースが保存されているファイル名の情報を確認する方法について説明します。

接続中のデータベースの情報

データベースに接続しているとき、現在接続しているデータベース名と、データベースが保存されているファイル名を確認するには、SQLite コマンド .databases を使用します。

.databases

実際に確認してみましょう。まず myfriend.sqlite3 データベースに接続し、.databases を入力します。

$ sqlite3 myfriend.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> .databases
main: /Users/devkuma/sqlite/myfriend.sqlite3
sqlite> 

次のように画面に表示されました。

main がデータベース名です。そして /Users/devkuma/sqlite/myfriend.sqlite3 がデータベースを保存しているファイル名です。

データベース名と言うと分かりにくいかもしれませんが、main はテーブル名やカラム名と同じように、SQL 文でデータベース名を指定する必要がある場合に使われる名前です。sqlite3 データベース名 で接続したデータベースには、自動的に main というデータベース名が指定されます。つまり、データベース名が main の項目が接続中のデータベースです。

この main という名前は気になるかもしれませんが、今は無視してかまいません。詳しい説明はここでは行いませんが、接続されたデータベースがある場合、.databases コマンドを実行すると同じように一覧へ表示されます。表示されるデータベース名は、接続時に指定した名前です。

$ sqlite3 myfriend.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> 
sqlite> attach database 'myaddress.sqlite3' as address;
sqlite> 
main: /Users/devkuma/sqlite/myfriend.sqlite3
address: /Users/devkuma/sqlite/myaddress.sqlite3
sqlite> 

このように .databases コマンドを使用すると、現在接続されているデータベースの情報を確認できます。