やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3ドットコマンド(.echo)

 実行したSQL文を出力したいときに.echo onする。

成果物

.help

.echo on|off             Turn command echo on or off

 コマンドエコーって何? 画面出力させないってこと?

.echo

on,off以外だとエラー

sqlite3 :memory: ".echo 'えこぉ'"
ERROR: Not a boolean value: "えこぉ". Assuming "no".

.shell echoの値は出力される

sqlite3 :memory: ".shell echo 'はじめてのでぇたぁべぇす'"





sqlite3 :memory: \
".echo off" \
".shell echo 'はじめてのでぇたぁべぇす'"
はじめてのでぇたぁべぇす
sqlite3 :memory: \
".echo on" \
".shell echo 'はじめてのでぇたぁべぇす'"
はじめてのでぇたぁべぇす

ONだとselectSQL文が出力された

 まずはOFFの場合。

sqlite3 :memory: \
".echo off" \
"select 'selectですよ。';"
selectですよ。

 そしてONの場合。

sqlite3 :memory: \
".echo on" \
"select 'selectですよ。';"
select 'selectですよ。';
selectですよ。

 ONだと実行したSQL文が出力されるらしい。そういうことか。

デフォルトはOFFである

sqlite3 :memory: \
"select 'selectですよ。';"
selectですよ。

 SQL文は出ない。つまりデフォルトはOFF

まとめ

 実行したSQL文を出力したいときに.echo onする。

所感

 SQL文とその結果を別々のファイルにリダイレクトしたりできないの? もちろん1回のSQL文実行で。

 たぶん無理。.outputで出力先を変えることはできるが、SQL文もその結果も、同じ出力先になる。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで