همیشه وارد کردن داده ها از فایل های بیرون پایگاه داده به جداول پایگاه داده از مسائل روزمره بوده است. این قانون در خصوص Postgresql هم صادق می باشد. در این خصوص راهکارهای متعددی وجود دارد که یکی از آنها استفاده از دستور Copy می باشد.
در این مستند دستور Copy را بررسی می کنیم.
برای آشنایی با پایگاه داده پستگرس اینجا کلیک کنید.
در ابتدا جدول مورد نظری را که می خواهیم داده ها را درون آن وارد کنیم را می سازیم.
CREATE TABLE ftest (
id iniL,
first_name VARCHAR(50),
last_name VARCHAR(50)
)
در ادامه فایل CSV که حاوی داده های می باشد را بررسی می کنیم.فایل با نام test.csv را داریم که در داخل آن ۷۰۰۰ رکورد وجود دارد. ۳ ستون با نام های id,fname,lname در آن قراردارد.
فایل را در مسیر /opt قرار میدهیم و به کاربر Postgres در سطح سیستم عامل به این فایل دسترسی می دهیم. باید این نکته رو درنظر داشت که در روش copy، فایل باید در سمت سرور قرار بگیرد و به فایل دسترسی داشته باشد.
در ادامه با دستور زیر در محیط psql داده ها را وارد جدول می کنیم.
COPY ftest(id,fname,lname)
FROM ‘/opt/TEST.csv’
DELIMITER ‘,’
CSV HEADER;
در خروجی
Copy 7000
نشان دهند این می باشد ۷۰۰۰ رکورد وارد شده. همچنین می توان با select زدن بر روی جدول تعداد رکورد ها را کنترل کرد.
حالا بیشتر این دستور را بررسی کنیم. ابتدا کلمه COPY می باشد و بعد از آن اسم جدول. سپس اسم ستون های فایل CSV آمده است البته باید همان ترتیبی باشه که در فایل می باشد. باید این رو هم نظر گرفت که اگر فایل با جدول از نظر ستون ها یکسان باشد می توان اسامی ستون ها را ننوشت. در ادامه همانطور که مشخص است مسیر و نام فایل را مشخص کردیم و عبارت جدا کننده و در آخر با عیارت header مشخص کردیم که فایل حاوی نام ستون ها می باشد.
برای خدمات نگهداری، مشاوره و آموزش پایگاه داده پستگرس با ما در ارتباط باشید.