خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه وارد کردن و صادرات داده های CSV در PostgreSQL

از داده‌های Postgres خود نسخه پشتیبان تهیه کنید، آن‌ها را به جای دیگری منتقل کنید و در صورت لزوم آن‌ها را وارد کنید، همه با قدرت CSV.

فایل های CSV فرآیند ذخیره سازی داده ها را ساده می کند. از آنجایی که قالب مبتنی بر ردیف و ستون است، CSV به خوبی به یک پایگاه داده رابطه ای ترجمه می شود.

وارد کردن یک فایل CSV به یک پایگاه داده و صادرات از یک پایگاه داده به یک فایل CSV آسان است. چند تکنیک مختلف وجود دارد که می توانید برای انجام این کار با PostgreSQL استفاده کنید.

یک فایل CSV ایجاد کنید

در اینجا چند نمونه داده CSV وجود دارد که می توانید از آنها برای ایجاد فایل CSV خود استفاده کنید:

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

قبل از وارد کردن فایل CSV به پایگاه داده PostgreSQL، باید جدولی ایجاد کنید که با فرمت فایل CSV مطابقت داشته باشد. برای ایجاد جدول Postgres از کد زیر استفاده کنید.

CREATETABLE employees(idintNOTNULL,
                       firstname char(20),
                       lastname char(20),
                       email char(50));

فایل های CSV را به PostgreSQL وارد کنید

می‌توانید فایل‌های CSV را به جدول Postgres روی سرور یا ماشین کلاینت وارد کنید.

فایل های CSV را در سمت سرور وارد کنید

برای وارد کردن یک فایل CSV به سرور PostgreSQL، از دستور PostgreSQL COPY و کلمه کلیدی FROM استفاده کنید. این به شما امکان می دهد داده ها را از یک فایل CSV در جدول Postgres کپی کنید، البته به شرطی که ساختار مطابقت داشته باشد. برای کپی کردن نمونه فایل CSV در جدول کارکنان از کد زیر استفاده کنید:

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

مسیر در مثال بالا مطلق است. در صورت تمایل می توانید از مسیری نسبت به فهرست داده های Postgres خود استفاده کنید.

مطلب مرتبط:   5 کاری که هنگام یادگیری کدنویسی باید انجام دهید

می‌توانید داده‌ها را با یا بدون هدر کپی کنید، بنابراین اگر به آن‌ها نیاز ندارید، می‌توانید آخرین خط کد را حذف کنید.

فایل‌های CSV را در سمت مشتری وارد کنید

در دستگاه مشتری، از دستور psql \copy برای وارد کردن فایل CSV استفاده کنید. کد زیر را در خط فرمان psql اجرا کنید تا نمونه فایل CSV را در جدول کارکنان کپی کنید.

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

فایل های CSV را از PostgreSQL صادر کنید

همانند وارد کردن، می‌توانید یک فایل CSV را در سمت سرور یا سمت سرویس گیرنده صادر کنید.

فایل های CSV را در سمت سرور صادر کنید

از دستور COPY و کلمه کلیدی TO برای صادر کردن داده ها به یک فایل CSV استفاده کنید. باید جدول مبدا و مسیر فایل مقصد را مشخص کنید. این بار، مسیر باید مطلق باشد:

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

اگر فقط نیاز دارید که برخی از ردیف ها را از پایگاه داده صادر کنید، از دستور SELECT به صورت زیر استفاده کنید:

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

فایل‌های CSV را در سمت مشتری صادر کنید

برای صادر کردن داده ها در سمت مشتری، از دستور \copy و کلمه کلیدی TO در خط فرمان psql استفاده کنید:

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

استفاده از آداپتور پایگاه داده

برای وارد کردن فایل CSV لازم نیست از ترمینال استفاده کنید. می توانید داده ها را از طریق یک شی مکان نما با استفاده از زبان برنامه نویسی دلخواه خود وارد کنید. برای مثال، اگر با پایتون کار می کنید، می توانید به سرور PostgreSQL متصل شوید و دستور COPY را اجرا کنید.

مطلب مرتبط:   CSR، SSR، SSG، ISR: نحوه انتخاب پارادایم رندر مناسب

برای این کار، باید پایتون را از طریق یک آداپتور پایگاه داده مانند psycopg2 به Postgres متصل کنید.

pip install psycopg2

با استفاده از کد زیر به پایگاه داده متصل شوید:

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

سپس یک شی مکان نما ایجاد کنید و از آن برای اجرای دستور COPY استفاده کنید:

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

داده های PostgreSQL خود را با راحتی CSV مدیریت کنید

این یک فرآیند ساده برای وارد کردن و صادرات داده ها با استفاده از فایل های PostgreSQL و CSV است. می توانید از دستورات psql روی کلاینت یا سرور استفاده کنید یا از یک آداپتور پایگاه داده به صورت برنامه نویسی استفاده کنید.

اگر بیشتر یک رابط کاربری گرافیکی هستید، از ابزار pgAdmin استفاده کنید. این یک برنامه رابط کاربری گرافیکی منبع باز است که می تواند به شما کمک کند تا داده ها را آسان تر وارد و صادر کنید.