สวัสดีครับ ผมแอดแจ๊ป BorntoDev ในบทความนี้ผมจะมาสอนวิธีการนำข้อมูลจากไฟล์ .csv เข้า PostgreSQL กันครับ เพื่อให้เพื่อน ๆ สามารถนำข้อมูลไปใช้งานต่อในโปรเจกต์ โดย dataset ที่ผมยกมาสอนในวันนี้จะนำมาจากเว็บไซต์ kaggle นั่นเองครับ
เตรียมไฟล์ CSV ก่อนนำไปใช้งาน
ก่อนอื่นถ้าเพื่อน ๆ ยังไม่มี dataset ให้เข้าไปดาวน์โหลดได้ที่ https://www.kaggle.com/datasets/kyanyoga/sample-sales-data

โดยข้างในไฟล์ csv จะมีหน้าตาแบบนี้เลย

เราจะเห็นได้ว่าในไฟล์ csv จะเป็นรูปแบบตาราง ซึ่งก็จะมีชื่อคอลัมน์ต่าง ๆ อยู่บนสุดของแต่ละคอลัมน์โดยสิ่งนี้เราจะเรียกมันว่า header
นั่นเอง โดยในแต่ละคอลัมน์ต่าง ๆ ก็จะมีข้อมูลอยู่หลายชนิดด้วยกัน ไม่ว่าจะเป็น text หรือ number ซึ่งชนิดของข้อมูลตรงนี้จะต้องนำไปเชื่อมโยงกับ Table PostgreSQL ในขั้นตอนถัดไป
สร้าง Table เพื่อเตรียมพร้อมในการ import csv
เปิด pgAdmin เพื่อทำการสร้างตาราง

ทำการสร้าง Table ใน postgres โดยเข้าไปที่
Servers → Database → Schemas → public → Tables → Create → Table…

เมื่อกด create table จะได้หน้าตาแบบนี้…

โดยที่เราจะต้องตั้งชื่อของตาราง ในที่นี้ผมจะตั้งชื่อว่า sales นะครับ
จากนั้นไปที่หัวข้อ Columns จากนั้นสร้าง Columns ให้ตรงกับข้อมูลในไฟล์ CSV

เราสามารถกำหนดชนิดของข้อมูลและค่าต่าง ๆ ได้ โดยอิงข้อมูลจากไฟล์ CSV ซึ่งจะต้อง เรียงลำดับคอลัมน์ให้ถูกต้องด้วย

หลังจากสร้างคอลัมน์เสร็จทั้งหมดก็ทำการสร้างตารางได้เลย เราก็จะเจอตารางใหม่ทางฝั่งขวามือ

ซึ่งถ้าเราไปที่หัวข้อ Columns ในตาราง ก็จะเห็นคอลัมน์ที่สร้างไว้แบบนี้เลย เท่านี้เราก็พร้อมที่จะ import ข้อมูลเข้ามาแล้ว
Import ข้อมูลเข้า Table
เลือก Table ที่เราสร้างไว้ในขั้นตอนที่แล้วด้วยการคลิกขวาที่ชื่อ Table → Import/Export Data…

หลังจากกดเข้ามาแล้วก็จะได้หน้าตาแบบนี้…

จากนั้นให้ทำการกดที่รูปแฟ้มวิดีโอในหัวข้อ Filename ขึ้นมาก็จะได้หน้าตาแบบนี้ แต่จะยังไม่มีไฟล์อะไรเลย

อันนี้จะเป็นไฟล์ที่อยู่ในระบบฝั่ง postgres หากเพื่อน ๆ ยังไม่มีไฟล์ที่ต้องการก็สามารถ upload เข้ามาได้
กด … ตรงมุมขวาบน → Upload → ลากไฟล์มาวาง/คลิกเพื่อเลือกไฟล์จากในเครื่อง

ซึ่งถ้าเพื่อน ๆ upload ไฟล์ csv เข้ามาอยู่ในระบบแล้วก็ทำการเลือกไฟล์ได้เลย และเปลี่ยน encoding ให้เป็น WIN1252 จากนั้นกด OK เพื่อทำการ import ข้อมูลได้เลย

ถ้าเรา import ข้อมูลมาได้สำเร็จก็จะขึ้นที่มุมขวาล่างว่า Process Complete

ลอง Query ข้อมูลมาดูก็จะเห็นว่าข้อมูลอยู่ใน Table แล้วเรียบร้อย เพียงเท่านี้เราก็สามารถ import ข้อมูลจาก kaggle มาใช้งานได้แล้ว
