sql >> Databasteknik >  >> RDS >> PostgreSQL

Så här ändrar du tabellkantstilen i psql-frågeresultaten

När du använder psql för att köra frågor mot PostgreSQL kan vi använda \pset border och \pset linestyle kommandon för att ändra gränsen för tabellen som visar våra resultat.

Exempel på \pset border

Här är några exempel för att visa hur \pset border kommandot påverkar kantformatet när du använder standard linestyle inställning av ascii .

Värdet som anges till \pset border måste vara en siffra. Generellt gäller att ju högre siffra desto fler kanter och linjer kommer tabellerna att ha, men detta beror på det specifika formatet.

I HTML-format översätts detta direkt till border= … attribut.

I de andra formaten, medan det är möjligt att använda högre siffror, är det bara värdena 0 (ingen ram), 1 (interna skiljelinjer) och 2 (bordsram) vettigt.

Kant 0

\pset linestyle ascii
\pset border 0
SELECT * FROM Pets;

Resultat:

petid pettypeid ownerid petname    dob     
----- --------- ------- ------- ----------
    1         2       3 Fluffy  2020-11-20
    2         3       3 Fetch   2019-08-16
    3         2       2 Scratch 2018-10-01
    4         3       3 Wag     2020-03-15
    5         1       1 Tweet   2020-11-28
    6         3       4 Fluffy  2020-09-17
    7         3       2 Bark    
    8         2       4 Meow    
(8 rows)

Kant 1

\pset linestyle ascii
\pset border 1
SELECT * FROM Pets;

Resultat:

 petid | pettypeid | ownerid | petname |    dob     
-------+-----------+---------+---------+------------
     1 |         2 |       3 | Fluffy  | 2020-11-20
     2 |         3 |       3 | Fetch   | 2019-08-16
     3 |         2 |       2 | Scratch | 2018-10-01
     4 |         3 |       3 | Wag     | 2020-03-15
     5 |         1 |       1 | Tweet   | 2020-11-28
     6 |         3 |       4 | Fluffy  | 2020-09-17
     7 |         3 |       2 | Bark    | 
     8 |         2 |       4 | Meow    | 
(8 rows)

Border 2

\pset linestyle ascii
\pset border 2
SELECT * FROM Pets;

Resultat:

+-------+-----------+---------+---------+------------+
| petid | pettypeid | ownerid | petname |    dob     |
+-------+-----------+---------+---------+------------+
|     1 |         2 |       3 | Fluffy  | 2020-11-20 |
|     2 |         3 |       3 | Fetch   | 2019-08-16 |
|     3 |         2 |       2 | Scratch | 2018-10-01 |
|     4 |         3 |       3 | Wag     | 2020-03-15 |
|     5 |         1 |       1 | Tweet   | 2020-11-28 |
|     6 |         3 |       4 | Fluffy  | 2020-09-17 |
|     7 |         3 |       2 | Bark    |            |
|     8 |         2 |       4 | Meow    |            |
+-------+-----------+---------+---------+------------+
(8 rows)

Om \pset linestyle

Vi kan använda \pset linestyle kommando för att ändra linjeritningsstilen för gränsen. Den kan ställas in på ascii , old-ascii eller unicode .

Exempel:

\pset linestyle ascii
\pset linestyle old-ascii
\pset linestyle unicode

Här är en beskrivning av var och en:

  • ascii stil använder vanliga ASCII-tecken. Nya rader i data visas med + symbol i högermarginalen. När det radbrytande formatet radbryter data från en rad till nästa utan ett nyradstecken visas en prick (. ) visas i den högra marginalen på den första raden och igen i den vänstra marginalen på nästa rad.
  • old-ascii stil använder vanliga ASCII-tecken, med formateringsstilen som används i PostgreSQL 8.4 och tidigare. Nya rader i data visas med en : symbol i stället för den vänstra kolumnavgränsaren. När data raderas från en rad till nästa utan ett nyradstecken visas en ; symbolen används i stället för den vänstra kolumnavgränsaren.
  • unicode stil använder Unicode box-ritning tecken. Nya rader i data visas med en retursymbol i högermarginalen. När data raderas från en rad till nästa utan ett nyradstecken, visas en ellipssymbol i den högra marginalen på den första raden och igen i den vänstra marginalen på nästa rad.

Om du behöver fler gränsformateringsalternativ, kolla in de vackra gränserna i psql patch.


  1. Hur man får antalet rader som påverkas av ett uttalande när det är inuti det påståendets utlösare

  2. Hur får man tabelldefinition i Oracle?

  3. SQL Server:DELETE vs TRUNCATE

  4. MariaDB CURRENT_DATE() Förklarad