sql >> データベース >  >> RDS >> SQLite

TCLモードでSQLiteクエリ結果をフォーマットする方法

    SQLiteコマンドラインインターフェイスを使用すると、クエリ結果をTCLモードでフォーマットできます。これを行うと、列ヘッダーを指定した場合はそれも含め、すべての出力が二重引用符で囲まれます。内部の二重引用符はバックスラッシュでエスケープされます。

    .mode tcl
    SELECT * FROM Products;

    結果:

    "1" "Widget Holder" "139.5"
    "2" "Widget Opener" "89.7"
    "3" "Bob's \"Best\" Widget" "374.2"
    "4" "Blue Widget" "63.0"

    数値も含め、すべてが二重引用符で囲まれていることに注意してください。また、3行目には内部二重引用符("Best")が含まれています )。これらの二重引用符は円記号でエスケープされています。

    列ヘッダー

    TCLモードを使用する場合、列ヘッダーも二重引用符で囲みます。もちろん、これは列ヘッダーを出力していることを前提としています。

    列ヘッダーを出力するには、.headers onを使用します 。これも同じクエリですが、今回は列ヘッダーを含みます。

    .mode tcl
    .headers on
    SELECT * FROM Products;

    結果:

    "ProductId" "ProductName" "Price"
    "1" "Widget Holder" "139.5"
    "2" "Widget Opener" "89.7"
    "3" "Bob's \"Best\" Widget" "374.2"
    "4" "Blue Widget" "63.0"

    構成ファイルに保存

    これらの設定を構成ファイルに保存して、SQLiteに接続するたびにモードを変更し続ける必要がないようにすることができます。

    これを行うには、設定を空のファイルに追加します:

    .mode tcl
    .headers on

    次に、そのファイルを .sqlitercとして保存します ホームディレクトリにあります。

    これは、 .sqlitercがまだないことを前提としています ファイル。その場合は、代わりに編集してください。

    これで、SQLite CLIを使用すると、 .sqlitercの設定が使用されます。 デフォルト設定の代わりにファイル(結果をパイプで区切られたリストとしてフォーマットします)。


    1. SQL Serverのテーブルのすべてのチェックキーと外部キーの制約を無効にする方法(T-SQLの例)

    2. mysqlデータベースにスーパー特権を追加する方法は?

    3. Oracleで行を列に動的にピボットする

    4. 各結合のカウント-最適化