sql >> Databasteknik >  >> RDS >> PostgreSQL

Kör PostgreSQL-frågor från kommandoraden

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

Om du är ny på postgresql och inte känner till att använda kommandoradsverktyget psql då finns det något förvirrande beteende du bör vara medveten om när du har gått in i en interaktiv session.

Starta till exempel en interaktiv session:

psql -U username mydatabase 
mydatabase=#

Vid det här laget kan du ange en fråga direkt men du måste komma ihåg att avsluta frågan med ett semikolon ;

Till exempel:

mydatabase=# SELECT * FROM mytable;

Om du glömmer semikolonet kommer du inte att få någonting på returraden när du trycker på Enter eftersom psql antar att du inte har skrivit klart din fråga. Detta kan leda till alla typer av förvirring. Till exempel, om du anger samma fråga igen kommer du troligen att skapa ett syntaxfel.

Som ett experiment, försök att skriva valfri förvrängning du vill vid psql-prompten och tryck sedan på enter. psql kommer tyst att förse dig med en ny linje. Om du anger ett semikolon på den nya raden och sedan trycker på enter, kommer du att få FEL:

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

Tumregeln är:Om du inte fick något svar från psql men du förväntade dig åtminstone NÅGOT, då glömde du semikolonet ;



  1. BESTÄLL EFTER datum och tid FÖRE GRUPP EFTER namn i mysql

  2. mysql_fetch_array() förväntar sig att parameter 1 är ett resursproblem

  3. SSRS-rapportdefinitionen är nyare än Server

  4. Antal rader med PDO