По подразбиране, когато се свържете с обвивката на командния ред на SQLite и стартирате заявка, резултатът се връща като списък, разделен с тръби.
Може да сте забелязали, че резултатите не включват имената на колоните, което може да направи резултатите ви объркващи, ако се опитвате да ги прочетете, особено ако заявката е върнала много колони.
За щастие има лесен начин да форматирате изхода, така че да се показва като колона със заглавки на колони.
Изходът по подразбиране
Като пример, ето как интерфейсът на командния ред на SQLite извежда резултатите от заявката по подразбиране:
SELECT * FROM Products;
Резултат:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Така че няма заглавки на колони и се показва като списък, разделен с тръби.
Добавяне на заглавки на колони
За да добавите имената на колоните към всяка колона, използвайте .headers on
.
.headers on
SELECT * FROM Products;
Резултат:
ProductId|ProductName|Price 1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Можете да деактивирате заглавките, като използвате .headers off
.
Форматиране на резултатите като колона
Можете също да използвате .mode column
за да форматирате резултатите като колона.
.mode column
SELECT * FROM Products;
Резултат:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 P 374.2 4 Blue Widget 63.0
Ако трябва да го върнете към формата по подразбиране, можете да използвате .mode list
.
Промяна на ширината на колоната
Може да забележите, че в предишния пример едно от имената на продуктите е било съкратено. Това е така, защото е по-широко от ширината на колоната.
По подразбиране всяка колона е широка между 1 и 10 знака, в зависимост от името на заглавката на колоната и ширината на първата колона с данни. Данните, които са твърде широки, за да се поберат в колона, се съкращават.
Можете обаче да използвате .width
dot команда, за да зададете колоните на определена ширина.
Ето как можем да коригираме предишния пример, така че третият продукт да не бъде съкратен.
.width 0 16 0
SELECT * FROM Products;
Резултат:
ProductId ProductName Price ---------- ---------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 Pack 374.2 4 Blue Widget 63.0
Може би се чудите защо настроих първата и третата колона на нула?
Използване на стойност 0
всъщност прави колоната самонастройваща се (до определена точка). Посочване на 0
задава колоната на по-голямото от трите числа; 10, ширината на заглавката и ширината на първия ред данни.
В моя случай това работи добре за първата и третата колона, но не и за втората колона. Затова зададох тази колона на 16
(което е колко знака използва третият продукт).
Възстановяване на настройките по подразбиране
Ако трябва за кратко да нулирате изхода, за да използвате SQLite по подразбиране (т.е. разделен списък без заглавки на колони), можете просто да отворите нов прозорец на терминала и да стартирате вашите команди от там. SQLite ще използва настройките си по подразбиране в този случай.
Или ако искате да нулирате текущия прозорец на терминала, за да използвате настройките по подразбиране, винаги можете просто да използвате следното:
.headers off
.mode list
.separator "|"
В този случай добавих .separator
точка, само в случай, че преди това сте променили разделителя.
В случай, че се чудите, да, можете да използвате .separator ", "
за да изведете резултатите като списък, разделен със запетая.
Запазете настройките на колоната
Както споменахме, всеки път, когато отворите нов прозорец на терминала, за да се свържете със SQLite, заявките ще се върнат към формата по подразбиране на SQLite (списък, разделен с тръби).
За да се спасите от необходимостта да въвеждате повторно горните команди всеки път, когато се свързвате със SQLite, можете да ги въведете в .sqliterc
файл.
Например, отворете празен текстов файл и въведете следното:
.mode column
.headers on
Запазете файла като .sqliterc
към домашната директория на потребителя и SQLite ще го използва всеки път, когато се свърже.
Например, ако началната директория на потребителя е /Users/bart , тогава бихте го поставили в тази директория, така че да се намира в /Users/bart/.sqliterc .
Това е скрит файл, така че може да получите различни подкани да потвърдите и т.н. в зависимост от вашата система. Просто се съгласете с подканите, докато не бъдат запазени в домашната директория на потребителя.