データベースを学ぼう! VSCodeを使ったSQLiteの基本操作

1、SQLiteを使ってみよう!

前回の記事で設定したSQLiteの基本的な使い方を見ていきましょう。

「データベースを学ぼう! SQLiteのインストールと設定をして学習環境を準備しよう」を見てから、本記事を読み進めてください。

今回の作業環境は以下になります。

  • WindowsOS(Windows11)
  • VSCode(ターミナル_powershell)
  • エクスプローラ

2、今回ご紹介するコマンド

SQLiteは、SQL文以外に、ドットコマンド(dot-commands)という特殊なコマンドを使用します。

「ドットコマンド」は、クエリ(”INSERT INTO…”のような指示)の出力形式を変更したり、特定のパッケージ化された指示を実行したりするために使用されます。現在は60個を超えているそうです。今回は基本的なものだけ覚えましょう。
SQLite|Command Line Shell For SQLite

ドットコマンド説明
.openデータベースを開く
.tablesテーブル名の一覧を表示
.schema [テーブル名]テーブルの設定情報を表示
.databases接続されているデータベースの名前とフォルダの場所を一覧表示
.headers ON見出しの表示をオン
.mode [オプション]出力モードの変更
.exitプログラムの終了
.quitプログラムの停止・終了
.helpドットコマンドの一覧を表示

3、コマンドの使い方

ドットコマンドの実行

コマンドを入力する際、「sqlite>」に続けて、ドットコマンドを入力します。

sqlite> .schema [tablename]

SQLの実行

SQL文を入力する時は、ドットコマンドと同様に「sqlite>」の後ろに記述していきます。

入力している間は、エンターで改行することが可能。見通しやすいようにうまく改行しましょう。終了のタイミングで「;(セミコロン)」を入れないと実行されません。記述する時は注意しよう。

sqlite> SELECT * FROM [tablename];

※※注意※※ |
 ;(セミコロン)をSQL文の最後に記述しないと実行されない

4、SQLiteの開始

SQLiteの操作開始方法を2パターンご紹介します。

sqlite.exeから

 「C:\sqlite」フォルダのsqlite.exeをダブルクリック

エクスプローラーでCドライブのsqliteファイルを開いた様子

 コマンドプロンプトが立ち上がり、sqliteが起動

sqlite3.exeを実行してコマンドプロンプトが立ち上がった様子

 「.open test.sqlite」
でファイルを用意して編集を加えていく。
※この時保存される場所は「C:\sqlite」になる

ターミナルやpowershellから(以降はこちらの操作の解説)

わかりやすい場所にSQLiteで作ったファイルを格納するフォルダを作る

分かりやすい場所にSQLフォルダを保存

作成したフォルダをVSCodeで開く

VSCodeでフォルダを読み込む手順

表示>ターミナル からターミナルを開く
「sqlite3」と入力すると、SQLiteが起動します。

VSCodeでSQLフォルダを読み込み、ターミナルを開いた状態

「.open test.sqlite」でファイルを用意して編集を加えていきます。

VSCodeのターミナルでSQLiteを操作している様子

補足:なんでsqlite3?

3はバージョンを指している

補足:sqliteで編集できるファイル形式

sqliteと.db(.sqlはインポートする必要があります)

5、SQLiteの操作

お試しで入力する情報(ユーザー情報)

今回は、test.sqliteファイルの「ユーザー情報(user)」というテーブルを例に、SQLiteの操作を試します。

ユーザーID(id)名前(name)メールアドレス(mailaddress)電話番号(tel)住所(address)
1田中太郎[email protected]090-1234-5678東京都千代田区
2山田花子[email protected]080-2345-6789大阪府大阪市北区
3佐藤一郎[email protected]070-3456-7890愛知県名古屋市中村区
ユーザー情報(user)テーブル

テーブル名の確認「.tables」

test.sqliteというファイルの中にどんなファイルがあるか確認します。
「.tables」を入力してエンターで実行すると、テーブル名が一覧で表示。
※今回は「user」テーブルしかないので、一つだけ

sqlite> .tables
user
sqlite>

テーブルの設定情報を表示「.schema」

テーブル名を確認したら、各テーブルにどんな設定がされているか見てみましょう。
「.schema [テーブル名]」を入力してエンターで実行すると、[テーブル名]で指定したテーブルの設定情報をみることができます。

sqlite> .schema user
CREATE TABLE user(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
mailaddress TEXT,
tel TEXT,
address TEXT);
sqlite>

テーブル名を指定しないと?:

指定しないと、すべてのテーブルの情報が表示されます

編集しているファイルがどこにあるか確認「.databases」

操作が不慣れで、sqliteファイルを格納したフォルダがわからなくなってしまったときに便利。「.databases」を実行することで、接続しているファイルの名前とフォルダの場所を表示します。

sqlite> .databases
main: C:\Users\xxx\Documents\SQL\test.sqlite r/w
sqlite>

SQL文実行後の情報を見やすく整える「.headers ON」「.mode [オプション]」

データベースの情報をSQL文で整形する時、コマンド上だとちょっと見ずらく表示されます。なので、見やすく整えましょう。「.headers ON」を実行することで、SQL文実行後の情報に見出しを追加。「.mode column」を実行することで、列が整列して出力され、行の区切りが分かりやすくなります。

sqlite> .headers ON
sqlite> .mode column
sqlite>

↓設定前

1|田中太郎|[email protected]|090-1234-5678|東京都千代田区
2|山田花子|[email protected]|080-2345-6789|大阪府大阪市北区
3|佐藤一郎|[email protected]|070-3456-7890|愛知県名古屋市中村区

↓設定後

id  name  mailaddress                tel            address   
--  ----  -------------------------  -------------  ----------
1   田中太郎  [email protected]    090-1234-5678  東京都千代田区
2   山田花子  [email protected]  080-2345-6789  大阪府大阪市北区
3   佐藤一郎  [email protected]    070-3456-7890  愛知県名古屋市中村区

SQL文の実行

試しにSQL文を実行してみましょう。userテーブル内のすべての情報を表示させてみます。
※SQL文については改めてお話ししたいと思います。「SELECT * FROM [テーブル名];」

sqlite> SELECT * FROM user;
id  name  mailaddress                tel            address   
--  ----  -------------------------  -------------  ----------
1   田中太郎  [email protected]    090-1234-5678  東京都千代田区
2   山田花子  [email protected]  080-2345-6789  大阪府大阪市北区
3   佐藤一郎  [email protected]    070-3456-7890  愛知県名古屋市中村区
sqlite>

6、SQLiteの終了

「sqlite>」が表示されている状態で以下を実行

  • Ctrl + Cを二回
  • 「.exit」を入力し、エンターで実行
  • 「.quit」を入力し、エンターで実行
sqlite> .exit
PS C:\Users\xxx\Documents\SQL> 

7、最後に

次回からは、データベースやSQLについていっしょに勉強していきたいと思います!
引き続きよろしくお願いします。

作者情報

気になった居酒屋には一人でも入店します。
初めてのお店でも常連と間違われる不思議な現象に見舞われることが…。
ビールをこよなく愛していますが、家では金麦派。