前回は、ChatGPTが生成したPythonスクリプトをChatGPTによりデバッグしながら動作するスクリプトまで仕上げた。その過程でSQLiteデータベースのファイルが生成された。今回はこのファイルの中身を調べる方法をChatGPTに聞きながら取り組んでいく。

連載「生成AI×プログラミング」のこれまでの回はこちらを参照

生成されたSQLiteファイル

今回は、Todoアプリでデータを保持するストレージとしてSQLiteを使うという設計をした。そのためにPythonスクリプトからtodos.dbというファイルを生成し、ここにTodoデータを保持する仕組みを実装した。このため、前回のデバッグの過程でデータベースファイルが生成された。ファイルエクスプローラーで次のように「todos.db」ファイルが生成されていることを確認できる。

  • 作成したPythonスクリプトを実行して生成されたSQLiteファイル「todos.db」

    作成したPythonスクリプトを実行して生成されたSQLiteファイル「todos.db」

この「todos.db」をメモ帳で開くと次のようになる。

  • 「todos.db」をメモ帳で開いたサンプル

    「todos.db」をメモ帳で開いたサンプル

VSCodeで、このファイルを開くと次のようになる。

  • 「todos.db」はVSCodeでは開くことができない

    「todos.db」はVSCodeでは開くことができない

SQLiteファイルはテキストファイルではないので、エディターで開いても上記のスクリーンショットのように、どのようなデータが入っているかを確認することができない。

Todoアプリのデータストレージとしてこのファイルを操作したいので、このファイルに収められているデータを簡単に把握できる状況にしておきたい。そこで、今回はこれを実現する方法をChatGPTに教えてもらう。

ChatGPTにSQLiteファイルの中を見る方法を尋ねる

方法は簡単だ。ChatGPTにそのままやりたいことを伝えればよい。ここでは、次のような指示をChatGPTに与えてみる。

WindowsでSQLiteのファイルの内容を調べる方法を教えてください。SQLiteファイルにTodoアプリのデータが保持されているのですが、このファイルの中にどのようなデータが格納されているかを調べたいと考えています。

  • ChatGPTにWindowsでSQLiteファイルの中身を閲覧する方法を尋ねる
  • ChatGPTにWindowsでSQLiteファイルの中身を閲覧する方法を尋ねる つづき

    ChatGPTにWindowsでSQLiteファイルの中身を閲覧する方法を尋ねる

ここでは、ChatGPTから2つの方法が提示されている。その方法を整理すると次のようになる。

方法1:SQLiteのコマンドラインツールを使用する

  1. SQLiteの公式サイト(「SQLite Download Page」)からSQLiteのコマンドラインシェルをダウンロードする。Windows用のバイナリーが提供されている
  2. ダウンロードしたSQLiteのコマンドラインシェルを解凍し、コマンドプロンプトを開く
  3. 「sqlite3 ファイル名.sqlite」のようにコマンドを実行することでSQLiteファイルを開く。SQLiteのプロンプトが表示されたらSQLクエリを実行してデータを確認する。「.tables」でテーブルの一覧表示、「SELECT * FROM テーブル名;」でテーブル内容の表示などができる
  4. 「.quit」でSQLiteシェルを終了する

方法2:DB Browser for SQLiteを使用する

  1. DB Browser for SQLiteを「Downloads - DB Browser for SQLite」からダウンロードする
  2. DB Browserを起動し、メニューから「ファイル」→「データベースを開く」を選択する。SQLiteファイルを選択して開く
  3. 左側のペインにテーブルが表示されるので、テーブル名をクリックしてデータを閲覧する
  4. データの閲覧が終了したらDB Browserを終了する

SQLiteデータベースファイルはSQLと呼ばれるクエリ言語を通じてデータのやり取りを行うことを前提に設計されている。方法1はSQLiteの公式サイトの公式サイトで提供されている専用のシェルプログラムを使って、手動でSQLクエリを入力することで、「todos.db」ファイルに格納されているデータを操作するものだ。SQLに精通している場合はこの方法が手軽だ。リモートログインして作業している場合などでも使えるので、SQLに慣れてくるとこの方法がかなり便利になる。

しかし今回はもっと手軽にやりたいので、方法2である、GUIアプリケーション「DB Browser for SQLite」を使うことにする。このアプリケーションであれば、SQLに詳しくなくてもファイルの中身にどのようなデータが格納されているかを確認できる。手軽な確認方法や編集方法がほしいので、今回はこの方法を採用することにする。