データベースの作成と接続
SQLiteでデータベースを新規に作成する方法、そして作成済のデータベースに接続する方法について解説します。
1.データベースの作成
2.データベースの名前について
3.データベースへの接続
データベースを新規に作成するにはコマンドプロンプト上で次のように入力します。
sqlite3 データベース名
例として「myfriend.sqlite3」という名前のデータベースを作成してみます。コマンドプロンプトを起動し、sqlite3.exeを設置したディレクトリに移動してから「sqlite3 myfriend.sqlite3」と実行して下さい。
sqlite3 myfriend.sqlite3
「myfriend.sqlite3」データベースが存在していなかった場合は新しいデータベース「myfriend.sqlite3」が作成された上で作成したデータベースに接続されます。
データベースに接続されている状態ですのでテーブルなどをデータベースに作成することができます。(テーブルの作成方法は別のページで詳しく解説します)。
一度コマンドラインツールを終了します。「.exit」と実行して下さい。接続していたデータベースから切断します。
では「sqlite3.exe」を設置したディレクトリを見て下さい。
データベース名に指定した名前と同じファイル名のファイルが作成されています。SQLiteではこのようにデータベースを作成すると同じ名前のファイルが1つ作成され、データベースに含まれるすべてのデータがこのファイルの中に保存されます。
なお「sqlite3.exe」を設置したディレクトリ以外にデータベースのファイルを設置したい場合には次のようにパス付きで指定して下さい。
sqlite3 パス名\データベース名
例えば絶対パスで「d:\sqlite\db\」ディレクトリ内にsample.sqlite3データベースを作成する場合は「sqlite3 d:\sqlite\db\sample.sqlite3」と実行することになります。
データベースの名前は任意の名前を付けることができます。先ほどは「myfriend.sqlite3」と付けましたがどのような形式でも構いません。
(例) myfriend myfriend.db myfriend.sqlite myfriend.sqlite3
ただデータベースを作成するとSQLiteではデータベース名と同じ名前のファイルを作成してデータを保存します。例えばデータベース名が「myfriend」にした場合、作成されるファイル名も「myfriend」と拡張子が何も無いファイルが作成され、あとからファイルを見たときにこれが何のファイルなのか非常に分かりにくくなってしまいます。
そこでデータベースの名前を決める時はデータベースが保存されるファイル名のことも考慮して付けることをお勧めします。一般的にどのような拡張子が使われているのかは分かりませんが、今回は「.sqlite3」という拡張子で統一しています。
データベースに対して色々な操作を行うにはまずデータベースへ接続する必要があります。新規にデータベースを作成した場合は作成と同時に接続が行われますが、既に作成済のデータベースへ接続するにはコマンドプロンプト上で次のように入力します。
sqlite3 データベース名
見て頂くと分かる通り新規にデータベースを作成する場合と同じ書式です。引数に既に存在するデータベース名を指定した場合、新しいデータベースが作成されるのではなく引数に指定したデータベースに接続が行われます。
では先ほど作成した「myfriend.sqlite3」データベースへ接続してみます。コマンドプロンプトを起動し、sqlite3.exeを設置したディレクトリに移動してから「sqlite3 myfriend.sqlite3」と実行して下さい。
sqlite3 myfriend.sqlite3
新しくデータベースが作成されたわけではなく既存のデータベースに接続していることを確認するために、既存のデータベースに作成したテーブルを確認してみます。「.tables」と実行してみて下さい。
「personal」テーブルが作成されていることが確認できました。このように新規にデータベースを作成する場合と既存のデータベースに接続する場合は同じ書式となっていますのでご注意下さい。
( Written by Tatsuo Ikura )