Chèn số lượng lớn Postgres

Chen So Luong Lon Postgres



Chèn hàng loạt là một quá trình thêm nhiều hàng dữ liệu vào một bảng trong một thao tác. Điều này có thể nhanh hơn nhiều so với việc chèn từng hàng một, đặc biệt là khi xử lý một lượng lớn dữ liệu.

Phương pháp phổ biến nhất để thực hiện thao tác chèn hàng loạt trong PostgreSQL là lệnh COPY có thể lấy dữ liệu từ một tệp hoặc đầu vào tiêu chuẩn và chèn nó vào một bảng. Lệnh COPY yêu cầu dữ liệu phải ở định dạng cụ thể, thường là tệp CSV hoặc tệp văn bản.

Hãy để chúng tôi khám phá cách sử dụng lệnh này để thực hiện thao tác chèn hàng loạt trong PostgreSQL.







Chèn hàng loạt PostgreSQL

Hãy để chúng tôi khám phá các bước để thực hiện thao tác chèn hàng loạt trong PostgreSQL.



Chuẩn bị dữ liệu của bạn

Trước khi thực hiện thao tác chèn hàng loạt, hãy đảm bảo rằng dữ liệu đích ở định dạng phù hợp. Chúng tôi khuyên bạn nên định cấu hình dữ liệu của mình ở định dạng CSV hoặc TSV. Bạn có thể cấu trúc dữ liệu đích theo hàng và cột được phân tách bằng dấu phẩy hoặc tab.



Kết nối với PostgreSQL

Tiếp theo, kết nối với cơ sở dữ liệu PostgreSQL của bạn bằng ứng dụng khách mong muốn. Đối với hướng dẫn này, chúng tôi sử dụng tiện ích PSQL để dễ sử dụng và truy cập phổ biến.





$ psql -TRONG postgres -d < tên cơ sở dữ liệu >

Ví dụ: bạn có thể chạy truy vấn sau để sử dụng cơ sở dữ liệu thông tin người dùng:

$ psql -TRONG postgres -d Thông tin người dùng

Nếu bạn không có cơ sở dữ liệu đích, bạn có thể tạo nó bằng lệnh CREATE DATABASE:



TẠO NÊN CƠ SỞ DỮ LIỆU < db_name >

Tạo một bảng

Tiếp theo, chúng ta cần đảm bảo rằng bảng mà chúng ta muốn chèn dữ liệu tồn tại. Cấu trúc bảng phải phù hợp với cấu trúc dữ liệu bao gồm các kiểu dữ liệu được hỗ trợ.

Nếu bảng không tồn tại, bạn có thể sử dụng lệnh CREATE TABLE:

TẠO BẢNG network_users (
nhận dạng KHÓA CHÍNH NỐI TIẾP,
tên người dùng VARCHAR ( 255 ) CÓ GIÁ TRỊ,
địa chỉ ip INET,
mac_addressMACADDR,
văn bản kịch câm
) ;

Lệnh đã cho sẽ tạo một bảng có tên là “network_users” với các cột id, tên người dùng, ip_address, mac_address và mime.

Khi bảng đã sẵn sàng, chúng ta có thể tải dữ liệu vào bảng PostgreSQL. Một lần nữa, bạn nên đảm bảo rằng tệp dữ liệu có thể truy cập được từ máy nơi máy chủ đang chạy.

Thực hiện chèn hàng loạt

Tiếp theo, chúng ta có thể sử dụng lệnh COPY để tải dữ liệu từ tệp vào bảng cơ sở dữ liệu. Cú pháp lệnh như sau:

SAO CHÉP tên_bảng ( cột1, cột2, cột3 )
TỪ 'đường dẫn/đến/tệp_dữ_liệu'
VỚI ( ĐỊNH DẠNG csv | văn bản, DELIMITER 'dấu phân cách' , TIÊU ĐỀ ) ;

Bạn có thể chỉ định định dạng (CSV hoặc văn bản), dấu phân cách được sử dụng trong tệp của mình (ví dụ: ',' cho CSV, '\t' cho TSV) và liệu tệp của bạn có bao gồm hàng tiêu đề hay không.

Ví dụ, để sao chép dữ liệu vào bảng “network_users”, chúng ta có thể chạy lệnh như sau:

sao chép network_users ( nhận dạng , tên người dùng, ip_address, mac_address, kịch câm ) từ 'mạng_users.
csv'
với ( định dạng csv, dấu phân cách ',' , tiêu đề ) ;

Điều này cho phép PostgreSQL tải dữ liệu từ tệp vào bảng. Bạn có thể xác minh xem thao tác chèn có thành công hay không bằng cách truy vấn dữ liệu trong bảng.

Chèn hàng loạt PostgreSQL PgAdmin

Chúng tôi cũng có thể sử dụng giao diện đồ họa mà pgAdmin cung cấp để nhập tệp dữ liệu.

Bắt đầu bằng cách khởi chạy pgAdmin và kết nối với cơ sở dữ liệu PostgreSQL của bạn bằng cách cung cấp các chi tiết kết nối cần thiết.

Tiếp theo, xác định vị trí bảng mà bạn muốn thực hiện thao tác chèn hàng loạt. Bạn có thể tìm thấy cơ sở dữ liệu và bảng của mình trong bảng trình duyệt.

Nhấp chuột phải vào bảng và chọn “Nhập/Xuất”.

Trong trình hướng dẫn “Nhập/Xuất”, hãy chọn tùy chọn “Nhập” và chọn loại nguồn dữ liệu. Ví dụ: bạn có thể nhập truy vấn hoặc khay nhớ tạm từ một tệp.

Trong bước tiếp theo, hãy cung cấp chi tiết tệp cho phần chèn hàng loạt. Chọn định dạng tệp (CSV, TSV, để chỉ định đường dẫn đến tệp dữ liệu của bạn và đặt dấu phân cách được sử dụng trong tệp.

Sau khi hài lòng với các tùy chọn nhập tệp của mình, hãy nhấp vào “Ok” để bắt đầu quá trình nhập. Bạn sẽ thấy trạng thái quá trình ở khung dưới cùng bên phải.

Bạn có thể xác minh xem quá trình nhập có thành công hay không bằng cách mở Công cụ truy vấn và chạy truy vấn:

LỰA CHỌN * TỪ network_users;

đầu ra :

Phần kết luận

Chúng tôi đã khám phá cách sử dụng PSQL và pgAdmin để thực hiện thao tác chèn hàng loạt từ tệp dữ liệu ngoài vào bảng cơ sở dữ liệu PostgreSQL.