SQLite
 sql >> база данни >  >> RDS >> SQLite

Форматирайте резултатите от SQLite заявката като колони със заглавки на колони

По подразбиране, когато се свържете с обвивката на командния ред на 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 .

Това е скрит файл, така че може да получите различни подкани да потвърдите и т.н. в зависимост от вашата система. Просто се съгласете с подканите, докато не бъдат запазени в домашната директория на потребителя.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Приложението се срива при инсталация с грешка sqlite3_exec - Неуспешно задаване на синхронен режим =1 (Нормално)

  2. SQLite JSON_QUOTE()

  3. Използване на String[] selectionArgs в SQLiteDatabase.query()

  4. Как да форматирате резултатите от SQLite като таблица

  5. Как да проверите дали таблица съществува в SQLite