SQLite3を操作する際に必要なコマンドを記録しておきます。
私自身SQLite3初心者なので、基本的なところから少しずつまとめていきます。
なお、使っているOSがUbuntu18.04なので、WindowsOSの方と表示等に若干の差異があるかと思いますが、ご了承ください。
SQLite3のインストール
sudo apt install sqlite3
コマンドラインツール
コマンドラインツールの起動
sqlite3 sample.sqlite3
上記のコマンドを使うと、SQLite3のコマンドラインツールが起動して下記のように表示され、ターミナル上でSQLite3の操作を行うことができます。
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help"for usage hints.
sqlite>
コマンドラインツールの見た目変更
.show
sqlite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: list
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "\n"
stats: off
width:
filename: sample.sqlite3
sqlite>
コマンドラインツールの終了
.exit
このコマンドでSQLite3のコマンドラインツールを終了します。
Ubuntu18.04ではショートカット(ctrl+D)でも終了することができます。
データベース操作
データベースの作成・接続
sqlite3 sample.sqlite3
上記のコマンドは、SQLite3のコマンドライン起動コマンドと同じです。
このコマンドを実行した際、指定したデータベースが存在すればそのデータベースに接続し、指定したデータベースが存在しなかった場合はそのデータベース名で新規ファイルが作成されコマンドラインツールが起動します。
なお、データベース名についてですが、拡張子をつけなくてもデータベースとして使うことは可能です。
ですが、ひとつのプロジェクト内には、多数のプログラムファイルが存在していることやデータベースの種類も多数あることから、それを明示するために例として下記のような拡張子をつけることが通例となっているようです。
- sample.sqlite3
- sample.sqlite
- sample.db
この記事では、拡張子を「.sqlite3」に統一します。
テーブル操作
テーブル作成
CREATE TABLE personal001(id, name);
この構文をCREATE文といいますが、これで、テーブルを作成します。
SQL文の書き方
SQL文については、大文字 小文字かかわらず同じように使えます。
ただ、SQL文の中には、データベース名・テーブル名・カラム名などの単語が入ってきて、パッと見でどこが名前で、どこがSQL文なのかがわかりにくくなる気がしました。
プログラム内にSQL文を埋め込むとなおさらですよね。
小文字で書いた場合と大文字で書いた場合と比較したものを下に示してみました。
個人的には大文字のほうが見やすいかと思うので、SQL文に関しては大文字で統一しようと思います。
create table personal001(id integer primary key autoincrement, name text not null unique);
CREATE TABLE personal001(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE);
データベース内に作成されたテーブル一覧
.tables
personal001