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 psql
ervan 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. psql
zal 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 psql
maar je verwachtte tenminste IETS, dan ben je de puntkomma ;
vergeten
Antwoord 2, autoriteit 22%
SELECT * FROM my_table;
waarbij my_table
de naam van uw tafel is.
BEWERKEN:
psql -c "SELECT * FROM my_table"
of gewoon psql
en 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: – (