Можете да използвате .output
или .once
dot команди, за да запазите резултатите от вашата заявка в текстов файл, когато използвате SQLite CLI.
Командата .once
Ако искате да запишете само една заявка във файл, използвайте .once
команда.
.once
командата указва, че следващата заявка ще бъде изпратена до посочения файл. Всички допълнителни заявки ще се върнат към стандартния изход (конзолата).
.headers on
.mode column
.once query_results.txt
SELECT * FROM Products;
Горният код извежда резултатите в текстов файл, наречен query_results.txt в текущата директория. Използвайте пълния път, ако трябва да посочите друга директория.
В този случай също активирах заглавките на колони и зададох режима на „колона“.
Ето съдържанието на текстовия файл:
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
3 Bob's "Best" 374.2
4 Blue Widget 63.0
Фактът, че използвах .once
означава, че всички допълнителни заявки ще бъдат извеждани на конзолата.
Ако имате нужда всички допълнителни заявки да бъдат записани в текстовия файл, използвайте .output
.
Командата .output
.output
командата указва, че целият по-нататъшен изход ще бъде изпратен до посочения файл.
Всички последващи резултати от заявка ще бъдат добавени към съществуващото съдържание.
Вземете например следния код:
.output query_results2.txt
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;
В този случай изпълних две заявки.
Ето какво съдържа полученият текстов файл:
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
3 Bob's "Best" 374.2
4 Blue Widget 63.0
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
Така че включва резултатите от двете заявки. Виждаме, че втората заявка е добавена.
Обърнете внимание, че не трябваше да указвам .headers on
или .mode column
в този пример, защото вече го посочих в предишния си пример. Тези настройки остават в текущата сесия, докато не бъдат изрично променени.
Нулиране на изхода към екрана
Можете да използвате следната команда, за да върнете изхода към стандартния изход (конзолата):
.output stdout
Като алтернатива можете просто да пропуснете всеки аргумент:
.output
Автоматично отваряне на текстовия файл
Можете да използвате .system
команда, за да отворите вашия текстов файл. Точният синтаксис, който използвате, ще зависи от вашата система.
Ето как да отворите предишния файл на Mac:
.system open query_results2.txt
Това предполага, че сте в същата директория като файла. В противен случай ще трябва да използвате пълния път.
Това отваря файла в приложението по подразбиране на системата за отваряне на текстови файлове.
В Windows система вашият код може да изглежда по-скоро така:
.system c:/data/query_results2.txt
На Linux/Unix:
.system xdg-open query_results2.txt