概要 :このチュートリアルでは、SQLiteコマンドラインシェルプログラムを使用するか、sqlite_masterからデータをクエリすることにより、SQLiteデータベースからテーブルを表示するさまざまな方法を学習します。 テーブル。
sqliteコマンドラインシェルプログラムを使用したテーブルの表示
sqliteコマンドラインシェルプログラムを使用してデータベース内のテーブルを表示するには、次の手順に従います。
まず、テーブルを表示するデータベースを開きます。
sqlite3 c:\sqlite\db\chinook.dbCode language: SQL (Structured Query Language) (sql)
上記のステートメントは、chinook.dbという名前のデータベースを開きました c:\sqlite\dbにあります ディレクトリ。
次に、.tablesと入力します コマンド:
tablesCode language: SQL (Structured Query Language) (sql)
.tables コマンドは、chinook内のすべてのテーブルを一覧表示します データベース
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_trackCode 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) 次に、データベースからすべてのテーブルを一覧表示します。
.tablesCode language: SQL (Structured Query Language) (sql) 以下に出力を示します。
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracksCode language: SQL (Structured Query Language) (sql)
一時テーブルのスキーマはtempであるため 、コマンドは、temp.temp_table1などの一時テーブルのスキーマとテーブルの名前を表示しました 。
特定の名前のテーブルを表示する場合は、一致するパターンを追加できます:
.tables patternCode language: SQL (Structured Query Language) (sql)
コマンドはLIKEと同じように機能します オペレーター。パターンは一重引用符(')で囲む必要があります 。
たとえば、名前が文字「a」で始まるテーブルを検索するには、次のコマンドを使用します。
.table 'a%'Code language: SQL (Structured Query Language) (sql) 出力は次のとおりです:
albums artistsCode language: plaintext (plaintext)
名前に文字列ckが含まれているテーブルを表示します 、%ck%を使用します 次のコマンドに示すパターン:
.tables '%ck%'Code language: SQL (Structured Query Language) (sql) 出力は次のとおりです。
playlist_track tracksCode 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からのデータのクエリ テーブル。