/ / Cách nhập và xuất dữ liệu CSV trong PostgreSQL

Cách nhập và xuất dữ liệu CSV trong PostgreSQL

pexels aqsa adha 11133381

Tệp CSV đơn giản hóa quá trình lưu trữ dữ liệu. Vì định dạng dựa trên hàng và dựa trên cột, CSV dịch tốt sang cơ sở dữ liệu quan hệ.

Thật dễ dàng để nhập tệp CSV vào cơ sở dữ liệu và xuất từ ​​cơ sở dữ liệu sang tệp CSV. Có một số kỹ thuật khác nhau mà bạn có thể sử dụng để làm như vậy với PostgreSQL.

Tạo tệp CSV

Dưới đây là một số dữ liệu CSV mẫu mà bạn có thể sử dụng để tạo tệp CSV của riêng mình:

LÀM VIDEO TRONG NGÀY
id,firstname,lastname,email
1,Riannon,Pulsifer,Riannon.Pulsifer@example.com
2,Moyna,Palocz,Moyna.Palocz@example.com
3,Roslyn,Bearnard,Roslyn.Bearnard@example.com
4,Gloria,Aldric,Gloria.Aldric@example.com
5,Felice,Greenwald,Felice.Greenwald@example.com

Trước khi nhập tệp CSV vào cơ sở dữ liệu PostgreSQL, bạn sẽ cần tạo một bảng phù hợp với định dạng tệp CSV. Sử dụng mã sau để tạo bảng Postgres.

CREATE TABLE employees(id int NOT NULL,
firstname char(20),
lastname char(20),
email char(50));

Nhập tệp CSV vào PostgreSQL

Bạn có thể nhập tệp CSV vào bảng Postgres trên máy chủ hoặc trên máy khách.

Nhập tệp CSV ở phía máy chủ

Để nhập tệp CSV vào máy chủ PostgreSQL, hãy sử dụng lệnh PostgreSQL COPY và từ khóa FROM. Điều này cho phép bạn sao chép dữ liệu từ tệp CSV sang bảng Postgres, miễn là cấu trúc phù hợp. Sử dụng mã sau để sao chép tệp CSV mẫu vào bảng nhân viên:

COPY employees(id,firstname,lastname,email)
FROM '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;

Đường dẫn trong ví dụ trên là tuyệt đối. Bạn có thể sử dụng một đường dẫn liên quan đến thư mục dữ liệu Postgres của mình nếu bạn muốn.

Bạn có thể sao chép dữ liệu có hoặc không có tiêu đề, vì vậy hãy bỏ qua dòng mã cuối cùng nếu bạn không cần chúng.

Nhập tệp CSV ở phía máy khách

Trên máy khách, hãy sử dụng psql copy để nhập tệp CSV. Chạy mã sau trên dấu nhắc lệnh psql để sao chép tệp CSV mẫu vào bảng nhân viên.

copy employees FROM '/tmp/sample.csv' DELIMITER ',' CSV HEADER;

Xuất tệp CSV từ PostgreSQL

Giống như nhập, bạn cũng có thể xuất tệp CSV ở phía máy chủ hoặc phía máy khách.

Xuất tệp CSV ở phía máy chủ

Sử dụng lệnh COPY và từ khóa TO để xuất dữ liệu sang tệp CSV. Bạn cần chỉ định bảng nguồn và đường dẫn đến tệp đích. Lần này, đường dẫn phải là tuyệt đối:

COPY employees TO '/tmp/employees.csv' CSV HEADER;

Nếu bạn chỉ cần xuất một số hàng từ cơ sở dữ liệu, hãy sử dụng lệnh SELECT như sau:

COPY (SELECT * FROM employees where firstname='Moyna') TO '/tmp/employees-moyna.csv' CSV HEADER;

Xuất tệp CSV ở phía máy khách

Để xuất dữ liệu ở phía máy khách, hãy sử dụng copy lệnh và ĐẾN từ khóa trong dấu nhắc lệnh psql:

copy employees TO 'path-to-file.csv' CSV header;

Sử dụng Bộ điều hợp cơ sở dữ liệu

Bạn không phải sử dụng thiết bị đầu cuối để nhập tệp CSV. Bạn có thể nhập dữ liệu thông qua đối tượng con trỏ bằng ngôn ngữ lập trình ưa thích của mình. Ví dụ: nếu bạn làm việc với Python, bạn có thể kết nối với máy chủ PostgreSQL và thực thi SAO CHÉP yêu cầu.

Đối với điều này, bạn cần kết nối Python với Postgres thông qua bộ điều hợp cơ sở dữ liệu như psycopg2.

pip install psycopg2

Kết nối với cơ sở dữ liệu bằng mã sau:

import psycopg2;

connection = psycopg.connect(
database="employee_db",
host="localhost"
user="postgres",
password="password",
)

Sau đó, tạo một đối tượng con trỏ và sử dụng nó để thực hiện lệnh COPY:

cursor = connection.cursor()

cursor.execute(
"COPY employees(id,firstname,lastname,email)
FROM '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)

connection.close()

Quản lý dữ liệu PostgreSQL của bạn với sự tiện lợi của CSV

Đó là một quá trình đơn giản để nhập và xuất dữ liệu bằng cách sử dụng các tệp PostgreSQL và CSV. Bạn có thể sử dụng các lệnh psql trên máy khách hoặc máy chủ hoặc sử dụng bộ điều hợp cơ sở dữ liệu theo lập trình.

Nếu bạn là người thích GUI hơn, hãy cân nhắc sử dụng công cụ pgAdmin. Đây là một ứng dụng GUI mã nguồn mở có thể giúp bạn nhập và xuất dữ liệu dễ dàng hơn.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *