Ve výchozím nastavení, když se připojíte k shellu příkazového řádku SQLite a spustíte dotaz, výsledek se vrátí jako seznam oddělený svislou čarou.
Možná jste si všimli, že výsledky neobsahují názvy sloupců, což může způsobit matoucí výsledky, pokud se je pokoušíte přečíst, zvláště pokud dotaz vrátil mnoho sloupců.
Naštěstí existuje snadný způsob, jak výstup naformátovat tak, aby se zobrazil jako sloupec se záhlavím sloupců.
Výchozí výstup
Zde je příklad, jak rozhraní příkazového řádku SQLite standardně zobrazuje výsledky dotazu:
SELECT * FROM Products;
Výsledek:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Nejsou zde tedy záhlaví sloupců a zobrazuje se jako seznam oddělený svislou čarou.
Přidat záhlaví sloupců
Chcete-li přidat názvy sloupců do každého sloupce, použijte .headers on
.
.headers on
SELECT * FROM Products;
Výsledek:
ProductId|ProductName|Price 1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Záhlaví můžete zakázat pomocí .headers off
.
Formátovat výsledky jako sloupec
Můžete také použít .mode column
formátovat výsledky jako sloupec.
.mode column
SELECT * FROM Products;
Výsledek:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 P 374.2 4 Blue Widget 63.0
Pokud jej potřebujete vrátit do výchozího formátu, můžete použít .mode list
.
Změnit šířku sloupce
Můžete si všimnout, že v předchozím příkladu byl jeden z názvů produktů zkrácen. Je to proto, že je širší než šířka sloupce.
Ve výchozím nastavení je každý sloupec široký 1 až 10 znaků v závislosti na názvu záhlaví sloupce a šířce prvního sloupce dat. Data, která jsou příliš široká a nevejdou se do sloupce, jsou zkrácena.
Můžete však použít .width
tečka pro nastavení sloupců na určitou šířku.
Zde je návod, jak můžeme opravit předchozí příklad, aby třetí produkt nebyl zkrácen.
.width 0 16 0
SELECT * FROM Products;
Výsledek:
ProductId ProductName Price ---------- ---------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 Pack 374.2 4 Blue Widget 63.0
Možná se ptáte, proč jsem nastavil první a třetí sloupec na nulu?
Pomocí hodnoty 0
ve skutečnosti způsobí, že se sloupec sám přizpůsobí (do určitého bodu). Zadání 0
nastaví sloupec na větší ze tří čísel; 10, šířku záhlaví a šířku prvního řádku dat.
V mém případě to funguje dobře pro první a třetí sloupec, ale ne pro druhý sloupec. Proto jsem tento sloupec nastavil na 16
(což je počet znaků, které třetí produkt používá).
Obnovit výchozí
Pokud potřebujete krátce resetovat výstup, aby používal výchozí SQLite (tj. seznam oddělený svislou čarou bez záhlaví sloupců), můžete jednoduše otevřít nové okno terminálu a spouštět příkazy odtud. SQLite v tomto případě použije své výchozí nastavení.
Nebo pokud chcete resetovat aktuální okno terminálu na výchozí nastavení, můžete vždy použít následující:
.headers off
.mode list
.separator "|"
V tomto případě jsem přidal .separator
tečka, jen v případě, že jste dříve změnili oddělovač.
V případě, že vás to zajímá, ano, můžete použít .separator ", "
pro výstup výsledků jako seznam oddělený čárkami.
Zachovat nastavení sloupců
Jak již bylo zmíněno, pokaždé, když otevřete nové okno terminálu pro připojení k SQLite, dotazy se vrátí do výchozího formátu SQLite (seznam oddělený potrubím).
Chcete-li se vyhnout nutnosti znovu zadávat výše uvedené příkazy pokaždé, když se připojíte k SQLite, můžete je zadat do .sqliterc
soubor.
Otevřete například prázdný textový soubor a zadejte následující:
.mode column
.headers on
Uložte soubor jako .sqliterc
do domovského adresáře uživatele a SQLite jej použije při každém připojení.
Pokud je například domovský adresář uživatele /Users/bart , pak byste jej umístili do tohoto adresáře tak, aby byl umístěn na adrese /Users/bart/.sqliterc .
Toto je skrytý soubor, takže v závislosti na vašem systému můžete obdržet různé výzvy k potvrzení atd. Stačí souhlasit s výzvami, dokud nebude uložen v domovském adresáři uživatele.