การแทรกจำนวนมากของ Postgres

Kar Thaerk Canwn Mak Khxng Postgres



การแทรกจำนวนมากเป็นกระบวนการที่เพิ่มข้อมูลหลายแถวลงในตารางในการดำเนินการครั้งเดียว ซึ่งทำได้เร็วกว่าการแทรกทีละแถว โดยเฉพาะเมื่อต้องจัดการกับข้อมูลจำนวนมาก

วิธีทั่วไปในการแทรกจำนวนมากใน PostgreSQL คือคำสั่ง COPY ซึ่งสามารถนำข้อมูลจากไฟล์หรืออินพุตมาตรฐานแล้วแทรกลงในตาราง คำสั่ง COPY กำหนดว่าข้อมูลควรอยู่ในรูปแบบเฉพาะ ซึ่งโดยปกติจะเป็นไฟล์ CSV หรือไฟล์ข้อความ

ให้เราสำรวจวิธีใช้คำสั่งนี้เพื่อทำการแทรกจำนวนมากใน PostgreSQL







PostgreSQL การแทรกเป็นกลุ่ม

ให้เราสำรวจขั้นตอนในการแทรกจำนวนมากใน PostgreSQL



เตรียมข้อมูลของคุณ

ก่อนดำเนินการแทรกจำนวนมาก ตรวจสอบให้แน่ใจว่าข้อมูลเป้าหมายอยู่ในรูปแบบที่เหมาะสม เราขอแนะนำให้คุณกำหนดค่าข้อมูลของคุณเป็น CSV หรือ TSV คุณสามารถจัดโครงสร้างข้อมูลเป้าหมายในแถวและคอลัมน์ซึ่งคั่นด้วยเครื่องหมายจุลภาคหรือแท็บ



เชื่อมต่อกับ PostgreSQL

จากนั้น เชื่อมต่อกับฐานข้อมูล PostgreSQL โดยใช้ไคลเอ็นต์ที่คุณต้องการ สำหรับบทช่วยสอนนี้ เราใช้ยูทิลิตี้ PSQL เพื่อความสะดวกในการใช้งานและการเข้าถึงแบบสากล





$ psql -ใน โพสต์เกรส -d < ฐานข้อมูล_name >

ตัวอย่างเช่น คุณสามารถเรียกใช้แบบสอบถามต่อไปนี้เพื่อใช้ฐานข้อมูล user_information:

$ psql -ใน โพสต์เกรส -d ข้อมูลผู้ใช้

หากคุณไม่มีฐานข้อมูลเป้าหมาย คุณสามารถสร้างได้โดยใช้คำสั่ง CREATE DATABASE:



สร้างฐานข้อมูล < db_name >

สร้างตาราง

ต่อไป เราต้องแน่ใจว่ามีตารางที่เราต้องการแทรกข้อมูลอยู่ โครงสร้างตารางต้องตรงกับโครงสร้างข้อมูลรวมถึงชนิดข้อมูลที่รองรับ

หากไม่มีตาราง คุณสามารถใช้คำสั่ง CREATE TABLE:

สร้างตาราง network_users (
รหัส คีย์หลักแบบอนุกรม
ชื่อผู้ใช้ VARCHAR ( 255 ) ไม่เป็นโมฆะ,
ip_address ไอเน็ต
mac_address MACADDR,
ข้อความใบ้
) ;

คำสั่งที่กำหนดควรสร้างตารางชื่อ “network_users” ที่มีคอลัมน์ id, username, ip_address, mac_address และ mime

เมื่อตารางพร้อมแล้ว เราก็โหลดข้อมูลลงในตาราง PostgreSQL ได้ เป็นการดีที่จะตรวจสอบให้แน่ใจว่าไฟล์ข้อมูลสามารถเข้าถึงได้จากเครื่องที่เซิร์ฟเวอร์ทำงานอยู่

ดำเนินการแทรกจำนวนมาก

ต่อไปเราสามารถใช้คำสั่ง COPY เพื่อโหลดข้อมูลจากไฟล์ลงในตารางฐานข้อมูล ไวยากรณ์คำสั่งมีดังนี้:

คัดลอก table_name ( คอลัมน์ 1 คอลัมน์ 2 คอลัมน์ 3 )
จาก 'เส้นทาง/ถึง/data_file'
กับ ( รูปแบบ csv | ข้อความ DELIMITER 'ตัวคั่น' , หัวข้อ ) ;

คุณสามารถระบุรูปแบบ (CSV หรือข้อความ) ตัวคั่นที่ใช้ในไฟล์ของคุณ (เช่น ',' สำหรับ CSV, '\t' สำหรับ TSV) และกำหนดว่าไฟล์ของคุณมีแถวส่วนหัวหรือไม่

ตัวอย่างเช่น หากต้องการคัดลอกข้อมูลไปยังตาราง “network_users” เราสามารถรันคำสั่งได้ดังนี้:

คัดลอก network_users ( รหัส , ชื่อผู้ใช้, ip_address, mac_address, mime ) จาก 'network_users.
csv'
กับ ( รูปแบบ csv ตัวคั่น ',' , หัวข้อ ) ;

สิ่งนี้ทำให้ PostgreSQL โหลดข้อมูลจากไฟล์ลงในตาราง คุณสามารถตรวจสอบว่าการแทรกสำเร็จหรือไม่โดยการสืบค้นข้อมูลในตาราง

PostgreSQL แทรกจำนวนมาก PgAdmin

เรายังสามารถใช้ส่วนต่อประสานกราฟิกที่ pgAdmin จัดหาให้เพื่อนำเข้าไฟล์ข้อมูล

เริ่มต้นด้วยการเปิดใช้งาน pgAdmin และเชื่อมต่อกับฐานข้อมูล PostgreSQL ของคุณโดยระบุรายละเอียดการเชื่อมต่อที่จำเป็น

ถัดไป ค้นหาตารางที่คุณต้องการทำการแทรกจำนวนมาก คุณสามารถค้นหาฐานข้อมูลและตารางของคุณได้ในแผงเบราว์เซอร์

คลิกขวาที่ตารางแล้วเลือก 'นำเข้า/ส่งออก'

ในตัวช่วยสร้าง 'นำเข้า/ส่งออก' เลือกตัวเลือก 'นำเข้า' และเลือกประเภทแหล่งข้อมูล ตัวอย่างเช่น คุณสามารถนำเข้าแบบสอบถามหรือคลิปบอร์ดจากไฟล์

ในขั้นตอนถัดไป ให้ระบุรายละเอียดไฟล์สำหรับการแทรกจำนวนมาก เลือกรูปแบบไฟล์ (CSV, TSV เพื่อระบุเส้นทางไปยังไฟล์ข้อมูลของคุณ และตั้งค่าตัวคั่นที่ใช้ในไฟล์

เมื่อพอใจกับตัวเลือกการนำเข้าไฟล์แล้ว ให้คลิก 'ตกลง' เพื่อเริ่มกระบวนการนำเข้า คุณควรเห็นสถานะกระบวนการที่บานหน้าต่างด้านล่างขวา

คุณสามารถตรวจสอบได้ว่านำเข้าสำเร็จหรือไม่โดยการเปิดเครื่องมือสืบค้นข้อมูลและเรียกใช้ข้อความค้นหา:

เลือก * จาก network_users;

เอาต์พุต :

บทสรุป

เราได้สำรวจวิธีใช้ PSQL และ pgAdmin เพื่อดำเนินการแทรกจำนวนมากจากไฟล์ข้อมูลภายนอกลงในตารางฐานข้อมูล PostgreSQL