sql >> データベース >  >> RDS >> PostgreSQL

コマンドラインからPostgreSQLクエリを実行する

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

    postgresqlを初めて使用し、コマンドラインツールpsqlの使用に慣れていない場合 次に、インタラクティブセッションに参加したときに注意する必要のある紛らわしい動作がいくつかあります。

    たとえば、インタラクティブセッションを開始します。

    psql -U username mydatabase 
    mydatabase=#
    

    この時点でクエリを直接入力できますが、セミコロン;でクエリを終了することを忘れないでください。

    例:

    mydatabase=# SELECT * FROM mytable;
    

    セミコロンを忘れた場合は、Enterキーを押すと、psqlが原因で、リターン行に何も表示されません。 クエリの入力が完了していないことを前提としています。これは、あらゆる種類の混乱につながる可能性があります。たとえば、同じクエリを再入力すると、構文エラーが発生する可能性があります。

    実験として、psqlプロンプトで必要な文字化けを入力してから、Enterキーを押してみてください。 psql 静かに新しい行を提供します。その新しい行にセミコロンを入力してEnterキーを押すと、エラーが発生します:

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

    経験則は次のとおりです。psqlから応答がない場合 しかし、少なくとも何かを期待していたので、セミコロン;を忘れました。



    1. PostgreSQL関数/ストアドプロシージャCURRENT_TIMESTAMPは変更されません

    2. AccessはODBCデータソースとどのように通信しますか?パート4

    3. SQL ServerでRANK()を使用する方法

    4. OracleのSQLクエリから返されるレコードを制限する