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

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

(Last modified: )

コマンドを実行する

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

sqlite3 データベース名

今回はあらかじめ作成しテーブルやデータを追加した sample.sqlite3 データベースに接続するために次のように実行しました。(引数に指定したデータベースが存在しなければ新規に作成した上で接続し、データベースが存在したらデータベースに接続します)。

sqlite3 sample.sqlite3

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

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

SQLite コマンドの .show を実行してみます。次のように入力したあと [Enter] キーを押すと実行されます。

.show

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

.show コマンドを実行すると、データベース接続に関する設定オプションが表示されます。

SQL文を実行する

続似 SQL 文を実行してみます。SQL 文であれば最後にセミコロン(;)を入力されるまでが一つの SQL 文として扱われますので、 [;] まで入力を行ってから [Enter] キーを押す事で実行されます。次のように入力して実行してください。

select * from username;

SQL文を実行する(1)

今回の SQL 文では username テーブルに格納されているデータを取得し画面に表示しました。

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

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

例えば次のような長い SQL 文を実行する場合で考えてみます。

select id, name as personalname from username where id between 1 and 2 order by name desc;

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

長い SQL 文などを入力する場合は、分割して入力することができます。 SQL 文を途中まで入力したら一度 [Enter] キーを押して下さい。

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

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

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

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

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

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

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

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

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

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

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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