Pythonのsqlite3におけるテーブルの一覧取得方法

Pythonのsqlite3ライブラリを使用して、SQLiteデータベース内のテーブルの一覧を取得する方法は次の通りです:

python
import sqlite3

# データベースに接続
conn = sqlite3.connect('mydatabase.db')

# カーソルを作成
cursor = conn.cursor()

# テーブルの一覧を取得するSQLクエリ
table_list_query = "SELECT name FROM sqlite_master WHERE type='table';"

# SQLクエリを実行
cursor.execute(table_list_query)

# 結果を取得
tables = cursor.fetchall()

# テーブルの一覧を表示
for table in tables:
    print(table[0])

# 接続を閉じる
conn.close()

このコードでは、以下の手順を実行してSQLiteデータベース内のテーブルの一覧を取得しています:

  1. データベースに接続し、カーソルを作成します。

  2. テーブルの一覧を取得するためのSQLクエリを作成します。このクエリは、sqlite_masterというシステムテーブルからtype'table' のエントリを選択し、テーブルの名前を取得します。

  3. SQLクエリを実行し、結果を取得します。fetchall()メソッドを使用してすべての行を取得します。

  4. 結果をループ処理して、各テーブルの名前を表示します。テーブル名は結果の各行の最初の要素に格納されているため、table[0]を使用して取得します。

  5. 最後に、データベースへの接続を閉じます。

これにより、SQLiteデータベース内のすべてのテーブルの名前が一覧表示されます。