Ho inserito un dato in una tabella .... Voglio vedere ora l'intera tabella con righe, colonne e dati. Come posso visualizzarlo tramite comando?
Ho inserito un dato in una tabella .... Voglio vedere ora l'intera tabella con righe, colonne e dati. Come posso visualizzarlo tramite comando?
Risposte:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Se non hai familiarità con postgresql e non hai familiarità con l'uso dello strumento da riga di comando, psql
allora c'è un comportamento confuso di cui dovresti essere a conoscenza quando sei entrato in una sessione interattiva.
Ad esempio, avviare una sessione interattiva:
psql -U username mydatabase
mydatabase=#
A questo punto è possibile immettere direttamente una query ma è necessario ricordare di terminare la query con un punto e virgola;
Per esempio:
mydatabase=# SELECT * FROM mytable;
Se si dimentica il punto e virgola, quando si preme invio non verrà visualizzato nulla sulla riga di ritorno perché psql
si presupporrà che non si sia terminata l'immissione della query. Questo può portare a tutti i tipi di confusione. Ad esempio, se si immette nuovamente la stessa query, è molto probabile che si crei un errore di sintassi.
Come esperimento, prova a digitare qualsiasi garble che desideri al prompt di psql, quindi premi invio. psql
ti fornirà silenziosamente una nuova linea. Se inserisci un punto e virgola su quella nuova riga e poi premi invio, riceverai l'ERRORE:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
La regola empirica è: se non hai ricevuto risposta psql
ma ti aspettavi almeno QUALCOSA, allora hai dimenticato il punto e virgola;
SELECT * FROM my_table;
dov'è my_table
il nome del tuo tavolo.
MODIFICARE:
psql -c "SELECT * FROM my_table"
o semplicemente psql
e quindi digitare le query.
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
dopo aver aperto il prompt della console.
psql: FATAL: database "SELECT * FROM tb_name" does not exist
Apri "SQL Shell (psql)" dalle tue Applicazioni (Mac).
Fare clic su Invio per le impostazioni predefinite. Immettere la password quando richiesto.
*) Digita \?
aiuto
*) Digita \conninfo
per vedere a quale utente sei connesso.
*) Genere \l
per visualizzare l'elenco dei database.
*) Connettersi a un database \c <Name of DB>
, ad esempio\c GeneDB1
Dovresti vedere il prompt dei tasti cambiare nel nuovo DB, in questo modo:
*) Ora che ti trovi in un determinato DB, vuoi conoscere gli schemi per quel DB. Il miglior comando per farlo è \dn
.
Altri comandi che funzionano anche (ma non altrettanto bene) sono select schema_name from information_schema.schemata;
e select nspname from pg_catalog.pg_namespace;
:
-) Ora che hai gli schemi, vuoi conoscere le tabelle in quegli schemi. Per questo, puoi usare il dt
comando. Per esempio\dt "GeneSchema1".*
*) Ora puoi fare le tue domande. Per esempio:
*) Ecco come appaiono il DB, lo schema e le tabelle sopra in pgAdmin:
La stessa query è scritta come di seguito per il prompt dei comandi di psql di postgres.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost - t -c "Seleziona u. \" Nomeutente \ "dagli utenti u Dove u. \" UserId \ "= 1;
Non ho dubbi sulla risposta di @Grant. Ma a volte incontro alcuni problemi, ad esempio se il nome della colonna è simile a qualsiasi parola chiave riservata di postgresql come naturale, in questo caso SQL simile è difficile da eseguire dalla riga di comando in quanto "\ naturale \" sarà necessario nel campo Query. Quindi il mio approccio è scrivere l'SQL in un file separato ed eseguire il file SQL dalla riga di comando. Anche questo ha un altro vantaggio. Se è necessario modificare la query per uno script di grandi dimensioni, non è necessario toccare il file di script o il comando. Cambia solo il file SQL in questo modo
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
Per un particolare tipo di istruzioni puoi trovare più appropriato da usare Azure Data Studio
- per tutto il resto viene fornito con la riga di comando integrata. Usando lo studio puoi trovare più comode le dichiarazioni di battitura e leggere l'output.
Seguire i passaggi seguenti:
Connettiti al tuo server locale o remoto:
Concentrati sulla scrittura e sull'esecuzione di solo SQL:
Ci sono molte belle funzioni come il salvataggio delle connessioni, la creazione di gruppi di server e persino il terminale integrato se ti senti più a tuo agio nel fare qualche operazione tramite psql
.
--single-line
(o-s
) che rende immediato ogni comando senza la necessità di aggiungere un punto e virgola.