SELECT文などの出力モードを変更(.modeコマンド)
.mode コマンドを実行することで、SELECT 文などを実行した結果の表示モードを変更することができます。ここでは SQLite における.mode コマンドの使い方について解説します。
(Last modified: )
.modeコマンドの使い方
.mode コマンドを実行すると SELECT 文などの実行結果で表示されるデータをカンマ区切りで表示するのか、それともタブ区切りで表示するのか、などについて設定できます。使い方は次の通りです。
.mode MODE ?TABLE?
1番目の引数にモードを指定します。指定可能な値は次のいずれかです。
csv カンマ区切りで出力 column カラム毎に左揃えで出力 html HTMLのTABLE形式で出力 insert INSERT文として出力 line 各カラム毎に行を分けて出力 list 区切り文字でカラムを区切り1行で出力(デフォルト) quote SQLリテラルで出力 tabs タブ区切りで出力 tcl TCLのlist形式で出力
ではそれぞれのモードについて順に確認していきます。
listモード
list モードは取得したデータ 1 行毎に 1 行で出力します。1 つの行に含まれるデータはカラム毎に現在設定されている区切り文字で区切って出力されます。
.mode list
SELECT文で既存のテーブルからデータを取得してみると次のように表示されます。
なお区切り文字は「.separator」コマンドで変更可能です。
csvモード
csv モードは取得したデータ 1 行毎に 1 行で出力します。1 つの行に含まれるデータはカラム毎にカンマ(,)で区切って出力されます。
.mode csv
SELECT文で既存のテーブルからデータを取得してみると次のように表示されます。
tabsモード
tabs モードは取得したデータ 1 行毎に 1 行で出力します。1 つの行に含まれるデータはカラム毎にタブで区切って出力されます。
.mode tabs
SELECT文 で既存のテーブルからデータを取得してみると次のように表示されます。
タブは 8 文字間隔で設定されているようです。
columnモード
column モードは取得したデータ 1 行毎に 1 行で出力します。1 つの行に含まれるデータはカラム毎に左揃えを行って表示されます。
.mode column
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
カラム毎の幅は決まっており、幅を超えるデータが含まれていた場合は切り捨てられて表示されます。なおカラム毎の幅は「.width」コマンドで変更することができます。
lineモード
line モードは取得したデータを1行毎に処理し、カラム毎に行を変えて表示されます。
.mode line
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
取得したデータの1行毎に、1カラム1行で「カラム名 = 値」の形式で表示します。
htmlモード
html モードは取得したデータを HTML の TABLE 形式に変換して表示します。
.mode html
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
1行毎に<tr>要素を持ち、カラム毎に<td>要素が記述されます。ただ<table>要素は記述されないようですので注意して下さい。
tclモード
tclモ ードは取得したデータを TCL のリスト形式に変換して表示します。
.mode tcl
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
insertモード
insert モードは取得したデータ 1 行毎に、データを追加した時の INSERT 文の形式で表示します。
.mode insert
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
実際に実行された INSERT 文を保持していてそれを表示しているわけではありません。表示された INSERT 文はテーブル名が table に置き換わっています。
quoteモード
quote モードは取得したデータを SQL リテラル形式に変換して表示します。文字列はシングルクォーテーションで囲まれた表示され、NULL は "NULL" と表示されます。区切り文字にはカンマ(,)が使用されます。
.mode quote
SELECT 文で既存のテーブルからデータを取得してみると次のように表示されます。
----
.mode コマンドを使って出力結果の表示形式を変更する方法について解説しました。外部ファイルに出力したい場合や出力結果を Web にテーブルとして出力したいなど目的に合わせて出力形式を選択されて下さい。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。