Am introdus datele într-un tabel....Vreau să văd acum întregul tabel cu rânduri și coloane de date. Cum pot afișa prin comanda?
psql -U username-d mydatabase -c 'SELECT * FROM mytable'
Daca're noi pentru postgresql și nefamiliare cu ajutorul instrument de linie de comandă psql
atunci mai este ceva confuz comportament ar trebui să fie conștienți de atunci când te'am intrat într-o sesiune interactivă.
De exemplu, să inițieze o sesiune interactivă:
psql -U username mydatabase
mydatabase=#
În acest moment aveți posibilitatea să introduceți o interogare direct dar trebuie să vă amintiți de a rezilia interogare cu un punct si virgula ;
De exemplu:
mydatabase=# SELECT * FROM mytable;
Dacă uitați virgulă atunci când te-a lovit enter, veți obține nimic pe linia de retur pentru psql` va fi presupunând că nu ați terminat de introdus interogare. Acest lucru poate duce la tot felul de confuzii. De exemplu, dacă vă re-intra în aceeași interogare va avea cel mai probabil de a crea o eroare de sintaxă.
Ca un experiment, încercați să tastați orice deformeze vrei la psql prompt apoi apăsați enter. psql
în tăcere va oferi cu o linie nouă. Dacă introduceți o virgulă pe care noua linie și apoi apăsați pe enter, apoi veți primi EROAREA:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Regula de degetul mare este:
Dacă ați primit nici un răspuns de la psql
dar te asteptai la CEVA, apoi ai uitat virgula ;
SELECT * FROM my_table;
unde my_table` este numele tabelului.
EDIT:
psql -c "SELECT * FROM my_table"
sau doar pentru psql` și apoi introduceți interogări.
Open "SQL Shell (psql)" de la Aplicatii (Mac).
Faceți clic pe enter pentru setările implicite. Introduceți parola când vi se solicită.
*) Tip \
de ajutor
*) Tip \conninfo
pentru a vedea care utilizatorul sunteți conectat ca.
*) Tip \l
pentru a vedea lista de Baze de date.
*) A se conecta la o bază de date de \c <Numele de DB>
, de exemplu \c GeneDB1
Ar trebui să vezi cheia de a solicita schimbarea la noul DB, astfel:
*) Acum, că te - 're într-o anumită DB, vrei să știi Schemele pentru că DB. Cel mai bun de comandă pentru a face acest lucru este \dn
.
Alte comenzi care, de asemenea, locul de muncă (dar nu la fel de bun) sunt selectați nume_schemă din information_schema.scheme; " și " selectați nspname de pg_catalog.pg_namespace;`:
-) Acum, că aveți Scheme, vrei să știi tabele în aceste Scheme. Pentru asta, puteți folosi " dt " comanda. De exemplu \dt "GeneSchema1".*
*) Acum puteți face interogări. De exemplu:
*) Aici este ceea ce mai sus DB, Scheme și Tabele arata ca in pgAdmin:
Aceeași interogare este scris ca de mai jos pentru psql comandă de postgres.
D:\TOOLS\Postgresql-9.4.1-3\bin>psql -U postgres -d DatabaseName -h localhost - t-c "Selectați u.\"numele de Utilizator\" de la utilizatori în cazul în Care u u.\"UserId\"=1;
Nu am nici o îndoială pe @Grant răspuns. Dar am întâmpinat câteva probleme, uneori, cum ar fi în cazul în care coloana nume este similar cu orice cuvânt cheie rezervat de postgresql, cum ar fi naturale în acest caz similar SQL este greu pentru a rula din linia de comandă ca "\natural\" vor fi necesare în Interogare domeniu. Deci, abordarea mea este de a scrie SQL într-un fișier separat și rulați fișierul SQL din linia de comandă. Acest lucru are un alt avantaj. Dacă trebuie să modificați interogarea pentru un mare scenariu nu este nevoie să atingeți fișier script sau comanda. Doar schimba fișier SQL astfel de prognoze
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
Pentru anumit tip de declarații puteți găsi mai adecvat să folosim Date Azure Studio` - pentru orice altceva vine cu built-in linie de comanda. Folosind studio puteți găsi tastarea declarații și citirea de ieșire mai confortabil.
Urmați pașii de mai jos:
Acolo sunt multe caracteristici frumos ca salvarea conexiuni, crearea grupurilor de servere și chiar a construit-in terminal dacă sunteți mai confortabil a face unele de sarcina prin anii psql
.