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

Tôi có thể tự động tạo bảng trong PostgreSQL từ tệp csv có tiêu đề không?

Có một công cụ rất tốt để nhập các bảng vào Postgres từ tệp csv, đó là một công cụ dòng lệnh có tên là pgfutter (với mã nhị phân cho windows, linux, v.v.). Một trong những lợi thế lớn của nó là nó cũng nhận ra các tên thuộc tính / cột.

Việc sử dụng công cụ này rất đơn giản. Ví dụ:nếu bạn muốn nhập myCSVfile.csv :

pgfutter --db "myDatabase" --port "5432" --user "postgres" --pw "mySecretPassword" csv myCSVfile.csv

Thao tác này sẽ tạo một bảng (được gọi là myCSVfile ) với các tên cột được lấy từ tiêu đề của tệp csv. Ngoài ra, các loại dữ liệu sẽ được xác định từ dữ liệu hiện có.

Một số lưu ý:Lệnh pgfutter thay đổi tùy thuộc vào hệ nhị phân bạn sử dụng, ví dụ:nó có thể là pgfutter_windows_amd64.exe (đổi tên nó nếu bạn định sử dụng lệnh này thường xuyên). Lệnh trên phải được thực thi trong cửa sổ dòng lệnh (ví dụ:trong Windows run cmd và đảm bảo pgfutter có thể truy cập được). Nếu bạn muốn có một tên bảng khác, hãy thêm --table "myTable"; để chọn một lược đồ cơ sở dữ liệu cụ thể, chúng tôi --schema "mySchema" . Trong trường hợp bạn đang truy cập cơ sở dữ liệu bên ngoài, hãy sử dụng --host "myHostDomain" .

Một ví dụ phức tạp hơn về pgfutter để nhập myFile vào myTable đây có phải là cái này không:

pgfutter --host "localhost" --port "5432" --db "myDB" --schema "public" --table "myTable" --user "postgres" --pw "myPwd" csv myFile.csv

Nhiều khả năng bạn sẽ thay đổi một vài kiểu dữ liệu (từ văn bản sang số) sau khi nhập:

alter table myTable
  alter column myColumn type numeric
    using (trim(myColumn)::numeric)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chia dữ liệu cột được phân tách bằng dấu phẩy thành các cột bổ sung

  2. Cho phép rỗng trong cột duy nhất

  3. Chỉ mục chữ thường của Flask-SQLAlchemy - bỏ qua chức năng, không được phản ánh SQLAlchemy hỗ trợ

  4. Phá hủy một Postgres DB trên Heroku

  5. Mẹo &Thủ thuật để Điều hướng Cộng đồng PostgreSQL