概要 :このチュートリアルでは、SQLiteコマンドラインシェルプログラムを使用するか、sqlite_master
からデータをクエリすることにより、SQLiteデータベースからテーブルを表示するさまざまな方法を学習します。 テーブル。
sqliteコマンドラインシェルプログラムを使用したテーブルの表示
sqliteコマンドラインシェルプログラムを使用してデータベース内のテーブルを表示するには、次の手順に従います。
まず、テーブルを表示するデータベースを開きます。
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
上記のステートメントは、chinook.db
という名前のデータベースを開きました c:\sqlite\db
にあります ディレクトリ。
次に、.tables
と入力します コマンド:
tables
Code language: SQL (Structured Query Language) (sql)
.tables
コマンドは、chinook
内のすべてのテーブルを一覧表示します データベース
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
Code language: SQL (Structured Query Language) (sql)
両方の.tables
に注意してください 、.table
同じ効果があります。さらに、コマンド.ta
動作するはずです。
.tables
コマンドを使用して一時テーブルを表示することもできます。次の例を参照してください:
まず、temp_table1
という名前の新しい一時テーブルを作成します :
CREATE TEMPORARY TABLE temp_table1( name TEXT );
Code language: SQL (Structured Query Language) (sql)
次に、データベースからすべてのテーブルを一覧表示します。
.tables
Code language: SQL (Structured Query Language) (sql)
以下に出力を示します。
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
一時テーブルのスキーマはtemp
であるため 、コマンドは、temp.temp_table1
などの一時テーブルのスキーマとテーブルの名前を表示しました 。
特定の名前のテーブルを表示する場合は、一致するパターンを追加できます:
.tables pattern
Code language: SQL (Structured Query Language) (sql)
コマンドはLIKE
と同じように機能します オペレーター。パターンは一重引用符('
)で囲む必要があります 。
たとえば、名前が文字「a」で始まるテーブルを検索するには、次のコマンドを使用します。
.table 'a%'
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
albums artists
Code language: plaintext (plaintext)
名前に文字列ck
が含まれているテーブルを表示します 、%ck%
を使用します 次のコマンドに示すパターン:
.tables '%ck%'
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです。
playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
SQLステートメントを使用したテーブルの表示
データベース内のすべてのテーブルを一覧表示する別の方法は、sqlite_schema
からテーブルをクエリすることです。 テーブル。
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
このクエリでは、名前がsqlite_
で始まるすべてのテーブルを除外しました。 sqlite_stat1
など およびsqlite_sequence
テーブル。これらのテーブルは、SQLiteによって内部的に管理されるシステムテーブルです。
SQLiteがテーブルsqlite_master
を変更したことに注意してください sqlite_schema
へ 。
このチュートリアルでは、.tables
を使用してデータベース内のすべてのテーブルを表示する方法を学習しました。 コマンドまたはsqlite_schema
からのデータのクエリ テーブル。