PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bisakah saya membuat tabel di PostgreSQL secara otomatis dari file csv dengan header?

Ada alat yang sangat bagus yang mengimpor tabel ke Postgres dari file csv. Ini adalah alat baris perintah yang disebut pgfutter (dengan binari untuk windows, linux, dll.). Salah satu keuntungan besarnya adalah ia juga mengenali nama atribut/kolom.

Penggunaan alat ini sederhana. Misalnya jika Anda ingin mengimpor myCSVfile.csv :

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

Ini akan membuat tabel (disebut myCSVfile ) dengan nama kolom yang diambil dari header file csv. Selain itu, tipe data akan diidentifikasi dari data yang ada.

Beberapa catatan:Perintah pgfutter bervariasi tergantung pada biner yang Anda gunakan, mis. bisa jadi pgfutter_windows_amd64.exe (ganti namanya jika Anda ingin sering menggunakan perintah ini). Perintah di atas harus dijalankan di jendela baris perintah (misalnya di Windows jalankan cmd dan pastikan pgfutter dapat diakses). Jika Anda ingin memiliki nama tabel yang berbeda, tambahkan --table "myTable"; untuk memilih skema database tertentu kami --schema "mySchema" . Jika Anda mengakses database eksternal, gunakan --host "myHostDomain" .

Contoh yang lebih rumit dari pgfutter untuk mengimpor myFile ke dalam myTable apakah ini:

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

Kemungkinan besar Anda akan mengubah beberapa tipe data (dari teks ke numerik) setelah impor:

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. Tipe Hibernasi, Postgres &Array

  2. Bagaimana cara membandingkan tanggal di bidang datetime di Postgresql?

  3. Setel string kosong ('') ke NULL di seluruh database

  4. Menggunakan gabungan untuk menggabungkan data dari tabel yang berbeda di PostgreSQL

  5. Cara Menyisipkan ke dalam Array di PostgreSQL