Hvis du bruger en af SQLites tabelformede output-tilstande, kan du komme til at kæmpe med lange tekstlinjer, der resulterer i, at alle efterfølgende kolonner bliver skubbet langt ud til højre. Dette kan medføre, at du bliver nødt til at rulle sidelæns, mens du læser dataene.
Heldigvis er der en nem løsning.
Du kan bruge --wrap
mulighed for at indstille den maksimale bredde af hver kolonne. Enhver kolonne, der indeholder tekst, der er længere end det, ombrydes til næste linje.
Du kan også bruge --wordwrap on
eller dens genvej -ww
for at sikre, at ord ikke bliver skåret af halvvejs.
Eksempel
Antag, at vi indstiller vores output-tilstand til table
:
.mode table
På nuværende tidspunkt har vi stadig ikke angivet nogen ombrydningsmuligheder.
Derfor, når vi vælger kolonner med lang tekst, vil det ikke wrap:
SELECT * FROM Album LIMIT 2;
Resultat:
+---------+---------------------------------------+----------+ | AlbumId | Title | ArtistId | +---------+---------------------------------------+----------+ | 1 | For Those About To Rock We Salute You | 1 | | 2 | Balls to the Wall | 2 | +---------+---------------------------------------+----------+
Lad os nu indstille wrap-indstillingen:
.mode --wrap 20
Lad os nu køre forespørgslen igen:
SELECT * FROM Album LIMIT 2;
Resultat:
+---------+----------------------+----------+ | AlbumId | Title | ArtistId | +---------+----------------------+----------+ | 1 | For Those About To R | 1 | | | ock We Salute You | | +---------+----------------------+----------+ | 2 | Balls to the Wall | 2 | +---------+----------------------+----------+
Vi kan se, at den første linje er ombrudt i overensstemmelse med vores --wrap
indstillinger.
Jeg specificerede ikke ordombrydning i dette eksempel, og så i dette tilfælde blev ordet "Rock" brudt op - en del af det forblev på den første linje og en del af det ombrøt til den næste linje.
Vi kan overvinde dette med --wordwrap on
eller dens genvej -ww
:
.mode -wrap 20 -ww
Det er det samme som at gøre følgende:
.mode -wrap 20 --wordwrap on
Lad os nu køre forespørgslen igen:
SELECT * FROM Album LIMIT 2;
Resultat:
+---------+---------------------+----------+ | AlbumId | Title | ArtistId | +---------+---------------------+----------+ | 1 | For Those About To | 1 | | | Rock We Salute You | | +---------+---------------------+----------+ | 2 | Balls to the Wall | 2 | +---------+---------------------+----------+
Denne gang pakkes ordet "Rock" til næste linje i stedet for at blive skåret af.
En anden mulighed:qbox
tilstand
En anden mulighed for at ombryde tekstlinjer er at bruge qbox
outputtilstand:
.mode qbox
Det er en genvej til følgende:
.mode box --wrap 60 --quote
Så dette ombryder linjer med 60 tegn, og det citerer strenge som en SQL-bogstav.