コマンドラインツールでSQL文やコマンドの入力方法

SQLite ではコマンドラインツールを使ってデータベースを作成したりデータの取得といったことが可能です。ここでは SQLite のコマンドラインツールを使用するときにどのように入力すればいいのかについて解説します。

(Last modified: )

コマンドを実行する

SQLiteのコマンドラインツールを起動するには、コマンドプロンプトを起動したあとで sqlite3.exe を設置したディレクトリへ移動し次のように実行して下さい。ツールが起動し引数に指定したデータベースに接続します。

sqlite3 データベース名

今回はあらかじめ作成しテーブルやデータを追加した sample.sqlite3 データベースに接続するために次のように実行しました。

sqlite3 sample.sqlite3

コマンドを実行する(1)

コマンドラインツール上では、コマンドラインツールに関する設定を行うような SQLite コマンドなどを実行したり、任意の SQL 文を実行することができます。

SQLite コマンドの .show を実行してみます。コマンドであればコマンドに加えて必要に応じて引数を入力して[Enter]キーを押すと実行されます。

.show

コマンドを実行する(2)

SQL文を実行する

今度は簡単な SQL 文を実行してみます。SQL 文であれば最後にセミコロン(;)を入力されるまでが一つの SQL 文として扱われますので、[;]まで入力を行ってから[Enter]キーを押す事で実行されます。

select * from personal;

SQL文を実行する(1)

長いSQL文を分割して入力する

SQL 文では一つの SQL 文が非常に長くなることがあります。全ての文を一度に入力しようとすると入力し難かったり、どこまで入力したか分かりにくい場合があります。

select id, name as personalname from personal where id between 1 and 3 order by name desc;

長いSQL文を分割して入力する(1)

このような場合、コマンドラインツールでは分割して入力することができます。途中まで入力した時点で[Enter]キーを押して下さい。

長いSQL文を分割して入力する(2)

SQL文は最後に[;]が現れるまでが一つの文として判断されます。[;]が入力されていない時点で[Enter]キーが押された場合は、まだ入力の途中だと判断され続けて入力を行うことができるようになります。

では残りの部分を入力していきます。先ほどと同じように適当なタイミングで[Enter]キーを押しています。

長いSQL文を分割して入力する(3)

なお[Enter]キーを押す時に空白を一つあけて入力する必要はありません。コマンドの途中で[Enter]キーを押すと自動的に前と後の文は別の単語として扱われます。

SQL 文の場合は[;]が含まれる文が入力されて[Enter]キーが押された時点で文の入力が完了したと判断され、SQL 文が実行されます。

長いSQL文を分割して入力する(4)

この結果は1行にまとめて入力した場合と同じです。

長いSQL文を分割して入力する(5)

まとめて入力しても分割して入力しても結果は同じなので場合に応じて使い分けて下さい。

-- --

SQLiteのコマンドラインツールでSQL文やコマンドをどのように入力するのかについて解説いたしました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。