Voer PostgreSQL-query’s uit vanaf de opdrachtregel

Ik heb gegevens in een tabel ingevoegd….Ik wil nu de hele tabel zien met rijen en kolommen en gegevens. Hoe kan ik het weergeven via een opdracht?


Antwoord 1, autoriteit 100%

psql -U username -d mydatabase -c 'SELECT * FROM mytable'

Als postgresql nieuw voor u is en niet bekend is met het gebruik van de opdrachtregeltool psql, dan is er sprake van verwarrend gedrag waar u op moet letten wanneer u een interactieve sessie bent begonnen.

Start bijvoorbeeld een interactieve sessie:

psql -U username mydatabase 
mydatabase=#

Op dit punt kunt u rechtstreeks een zoekopdracht invoeren, maar u moet niet vergeten de zoekopdracht te beëindigen met een puntkomma ;

Bijvoorbeeld:

mydatabase=# SELECT * FROM mytable;

Als u de puntkomma vergeet, krijgt u niets op uw retourregel, omdat psqlervan uitgaat dat u nog niet klaar bent met het invoeren van uw zoekopdracht. Dit kan tot allerlei verwarring leiden. Als u bijvoorbeeld dezelfde zoekopdracht opnieuw invoert, heeft u hoogstwaarschijnlijk een syntaxisfout gemaakt.

Probeer als experiment een willekeurig onleesbaar bericht te typen bij de psql-prompt en druk vervolgens op enter. psqlzal je stilletjes een nieuwe regel geven. Als u een puntkomma op die nieuwe regel invoert en vervolgens op enter drukt, ontvangt u de FOUT:

mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^

De vuistregel is:
Als je geen reactie hebt ontvangen van psqlmaar je verwachtte tenminste IETS, dan ben je de puntkomma ;

vergeten


Antwoord 2, autoriteit 22%

SELECT * FROM my_table;

waarbij my_tablede naam van uw tafel is.

BEWERKEN:

psql -c "SELECT * FROM my_table"

of gewoon psqlen typ vervolgens uw zoekopdrachten.


Antwoord 3, autoriteit 10%

Als uw database met een wachtwoord is beveiligd, zou de oplossing zijn:

PGPASSWORD=password  psql -U username -d dbname -c "select * from my_table"

4, Autoriteit 2%

Ik heb ook gemerkt dat de query

Selecteer * van tablenaam;

geeft een foutmelding op de PSQL-opdrachtprompt
en

Selecteer * van “tableename”;

Loopt prima, echt vreemd, dus vergeet de dubbele aanhalingstekens niet.
Ik hield altijd van databases: – (

Other episodes