Sqlite
如何正確格式化 sqlite shell 輸出?
如果我去
mysql shell
打字,SELECT * FROM users
我會得到 -+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | USERID | NAME | EMAILID | PASSWORD | USER_TYPE | CONTACT_ID_FKUSERS | COMPANY_ID_FKUSERS | +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | 137 | X | b@cc.com | # | ADMIN | 166 | 110 | | 138 | Kshitiz | ksharma@aaa.com | asdf | ADMIN | 167 | 111 | +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
Oracle sqlplus
顯示 -USERID NAME EMAILID PASSWORD USER_TYPE CONTACT_ID_FKUSERS COMPANY_ID_FKUSERS ---------- ----- ---------- ---------- ---------- ------------------ ------------------ 137 X b@cc.com # ADMIN 166 110 137 X b@cc.com # ADMIN 166 110
Sqlite shell
顯示 -137|X|b@cc.com|#|ADMIN|166|110 138|Kshitiz|ksharma@aaa.com|asdf|ADMIN|167|111
- 有沒有辦法美化輸出
sqlite shell
?- 是否有比預設發行版更好的替代外殼?(僅限 CLI 客戶端)
對於“人類可讀”輸出,您可以使用
column
模式,並打開標題輸出。這將為您提供類似於sqlplus
範例中的輸出的內容:sqlite> select * from foo; 234|kshitiz|dba.se
sqlite> .mode column sqlite> select * from foo; 234 kshitiz dba.se
sqlite> .headers on sqlite> select * from foo; bar baz baf ---------- ---------- ---------- 234 kshitiz dba.se
所有答案都提供了您可以在 SQLite 控制台或通過 CLI 鍵入的設置,但沒有人提到可以將這些設置放入 RC 文件中以避免一直鍵入它們。另存為
~/.sqliterc
:.mode column .headers on .separator ROW "\n" .nullvalue NULL
注意我還為空值添加了一個佔位符,而不是預設的空字元串。