PostgreSQL

Cách import dữ liệu CSV vào table PostgreSQL

Cách import dữ liệu CSV vào table PostgreSQL
Được viết bởi Minh Hoàng

Series chia sẻ về PostgreSQL – Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới.

Bài viết này sẽ mô tả cách import dữ liệu của file CSV vào bảng (table) PostgreSQL.

Đầu tiên, tạo một bảng mới có tên là persons với các cột sau:

  • id: person id
  • first_name: first name
  • last_name: last name
  • birth_day: date of birth
  • email: email address
CREATE TABLE persons (
  id SERIAL,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  birth_day DATE,
  email VARCHAR(255),
  PRIMARY KEY (id)
);

Cách import dữ liệu CSV vào table PostgreSQL - Hình 1

Sau đó, chuẩn bị một file CSV F:\minhhn.com\MinhHoangBlog\Persons.csv có các trường dữ liệu tương ứng như các cột của bảng persons đã tạo ở trên.

Cách import dữ liệu CSV vào table PostgreSQL - Hình 2

Cách import dữ liệu CSV vào table PostgreSQL - Hình 3

1. Sử dụng truy vấn sql

1. Sử dụng truy vấn sql

Để import data của file CSV vào bảng PostgreSQL, chúng ta sẽ sử dụng câu lệnh COPY như sau:

COPY persons(first_name, last_name, birth_day, email)
FROM 'F:\minhhn.com\MinhHoangBlog\Persons.csv'
DELIMITER ','
CSV HEADER;

Cách import dữ liệu CSV vào table PostgreSQL - Hình 4

Khi thực thi xong lệnh COPY, PostgreSQL trả lại thông báo sau:

COPY 2

Điều đó có nghĩa đã import thành công 2 hàng dữ liệu của file CSV vào bảng persons

Cách import dữ liệu CSV vào table PostgreSQL - Hình 5

Nói thêm về lệnh COPY ở trên.

Thứ tự các cột của table phải giống như các cột trong file CSV. Trong trường hợp file CSV chứa đầy đủ tất cả các cột của table thì bạn không cần chỉ định rõ ràng chúng, chỉ cần ghi tên table thôi là được:

COPY table_name
FROM 'F:\minhhn.com\MinhHoangBlog\Persons.csv'
DELIMITER ','
CSV HEADER;

DELIMITER ',' cho biết dấu phân cách giữa các dữ liệu trong file CSV.

Chỉ định từ khóa HEADER để chỉ ra rằng file CSV có chứa tiêu đề. Khi lệnh COPY nhập dữ liệu, nó sẽ bỏ qua tiêu đề của file.

Lưu ý rằng file CSV phải được đọc trực tiếp bởi PostgreSQL server, chứ không phải bởi client application. Do đó, PostgreSQL server phải truy cập được file CSV. Ngoài ra, bạn cần có quyền truy cập superuser để thực thi thành công câu lệnh COPY.

2. Sử dụng giao diện pgAdmin

2. Sử dụng giao diện pgAdmin

Sử dụng phương pháp này trong trường hợp bạn cần import trực tiếp file CSV từ máy tính của mình vào bảng trên PostgreSQL database server.

Đầu tiên, thực thi truy vấn sau để clear data đã import ở trên vào bảng persons

TRUNCATE TABLE persons 
RESTART IDENTITY;

Cách import dữ liệu CSV vào table PostgreSQL - Hình 6

Sau đó, right-click bảng persons > chọn Import/Export…

Cách import dữ liệu CSV vào table PostgreSQL - Hình 7

Hộp thoại Import/Export data sẽ xuất hiện, bạn thiết lập các thông số như hình:

Cách import dữ liệu CSV vào table PostgreSQL - Hình 8

Cuối cùng, click tab Columns > bỏ chọn cột id > click OK

Cách import dữ liệu CSV vào table PostgreSQL - Hình 9

Xong, chờ xíu là quá trình import hoàn tất, và sẽ hiện thông báo kết quả:

Cách import dữ liệu CSV vào table PostgreSQL - Hình 10

Xem thêm: Cách export dữ liệu của table PostgreSQL ra CSV file.

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

1 bình luận

Translate »