sql >> Databáze >  >> RDS >> PostgreSQL

Spusťte dotazy PostgreSQL z příkazového řádku

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

Pokud s postgresql začínáte a neznáte používání nástroje příkazového řádku psql pak je tu určité matoucí chování, kterého byste si měli být vědomi, když vstoupíte do interaktivní relace.

Spusťte například interaktivní relaci:

psql -U username mydatabase 
mydatabase=#

V tomto okamžiku můžete zadat dotaz přímo, ale nezapomeňte jej ukončit středníkem ;

Například:

mydatabase=# SELECT * FROM mytable;

Pokud zapomenete středník, pak když stisknete Enter, nedostanete na návratovém řádku nic, protože psql bude předpokládat, že jste nedokončili zadávání dotazu. To může vést k nejrůznějším zmatkům. Pokud například znovu zadáte stejný dotaz, pravděpodobně dojde k chybě syntaxe.

Jako experiment zkuste do příkazového řádku psql napsat jakoukoli zkomolení a poté stiskněte Enter. psql vám tiše poskytne novou řadu. Pokud na nový řádek zadáte středník a poté stisknete Enter, zobrazí se ERROR:

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

Základní pravidlo zní:Pokud jste neobdrželi žádnou odpověď z psql ale čekali jste alespoň NĚCO, pak jste zapomněli středník ;



  1. Jak vložit datovou tabulku do databázové tabulky SQL Serveru?

  2. Hledání textu v rámci Oracle Stored Procedures

  3. Jak správně zacházet s daty v omezeních dotazů

  4. MySQL mezi klauzulí není zahrnuto?