PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chạy các truy vấn PostgreSQL từ dòng lệnh

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

Nếu bạn chưa quen với postgresql và chưa quen với việc sử dụng công cụ dòng lệnh psql thì có một số hành vi khó hiểu mà bạn nên biết khi tham gia một phiên tương tác.

Ví dụ:bắt đầu một phiên tương tác:

psql -U username mydatabase 
mydatabase=#

Tại thời điểm này, bạn có thể nhập truy vấn trực tiếp nhưng bạn phải nhớ kết thúc truy vấn bằng dấu chấm phẩy ;

Ví dụ:

mydatabase=# SELECT * FROM mytable;

Nếu bạn quên dấu chấm phẩy thì khi nhấn enter, bạn sẽ không nhận được gì trên dòng trả về vì psql sẽ giả sử rằng bạn chưa nhập xong truy vấn của mình. Điều này có thể dẫn đến tất cả các loại nhầm lẫn. Ví dụ:nếu bạn nhập lại cùng một truy vấn, rất có thể bạn sẽ tạo ra lỗi cú pháp.

Như một thử nghiệm, hãy thử nhập bất kỳ mẫu nào bạn muốn tại dấu nhắc psql, sau đó nhấn enter. psql sẽ âm thầm cung cấp cho bạn một dòng mới. Nếu bạn nhập dấu chấm phẩy trên dòng mới đó rồi nhấn enter, thì bạn sẽ nhận được LỖI:

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

Quy tắc chung là:Nếu bạn không nhận được phản hồi từ psql nhưng bạn đã mong đợi ít nhất là SOMETHING, sau đó bạn quên dấu chấm phẩy ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay đổi cột PG thành NULLABLE TRUE?

  2. Cách Cosd () hoạt động trong PostgreSQL

  3. Bạn cần cài đặt postgresql-server-dev-X.Y để tạo tiện ích mở rộng phía máy chủ hoặc libpq-dev để xây dựng ứng dụng phía máy khách

  4. Triển khai Django cho Heroku (Lỗi Psycopg2)

  5. Làm cách nào để sử dụng UUID trong SQLAlchemy?