CSV файловете опростяват процеса на съхраняване на данни. Тъй като форматът е базиран на редове и колони, CSV се превежда добре в релационна база данни.
Лесно е да импортирате CSV файл в база данни и да експортирате от база данни в CSV файл. Има няколко различни техники, които можете да използвате, за да направите това с PostgreSQL.
Създайте CSV файл
Ето някои примерни CSV данни, които можете да използвате, за да създайте свой собствен CSV файл:
ID, собствено име, фамилия, имейл
1,Рианън,Пулсатор,Рианън.Пулсифер@пример.com
2,Мойна,Палоц,Мойна.Palocz@пример.com
3,Рослин,Беърнард,Рослин.Бърнард@пример.com
4,Глория,Олдрик,Глория.Олдрик@пример.com
5,Фелис,Грийнуолд,Фелис.Грийнуолд@пример.com
Преди да импортирате CSV файла в базата данни PostgreSQL, ще трябва да създадете таблица, която съответства на файловия формат CSV. Използвайте следния код, за да създадете таблица на Postgres.
СЪЗДАВАЙТЕТАБЛИЦА служители(документ за самоличноствътрНЕНУЛА,
първо име char (20),
фамилия char (20),
имейл char (50));
Импортирайте CSV файлове в PostgreSQL
Можете да импортирате CSV файлове в таблица на Postgres на сървъра или на клиентска машина.
Импортирайте CSV файлове от страната на сървъра
За да импортирате CSV файл на PostgreSQL сървър, използвайте командата PostgreSQL COPY и ключовата дума FROM. Това ви позволява да копирате данни от CSV файл в таблица на Postgres, при условие че структурата съвпада. Използвайте следния код, за да копирате примерния CSV файл в таблицата на служителите:
КОПИРАЙТЕ служители (идентификатор, име, фамилия, имейл)
ОТ '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;
Пътят в горния пример е абсолютен. Можете да използвате път спрямо вашата директория с данни на Postgres, ако предпочитате.
Можете да копирате данните със или без заглавки, така че не се колебайте да пропуснете последния ред от кода, ако не ви трябват.
Импортирайте CSV файлове от страна на клиента
На клиентска машина използвайте psql \копие команда за импортиране на CSV файла. Изпълнете следния код в командния ред на psql, за да копирате примерния CSV файл в таблицата на служителите.
\copy служители ОТ '/tmp/sample.csv' DELIMITER ',' CSV HEADER;
Експортирайте CSV файлове от PostgreSQL
Както при импортирането, можете също да експортирате CSV файл от страната на сървъра или от страната на клиента.
Експортирайте CSV файлове от страната на сървъра
Използвайте командата COPY и ключовата дума TO, за да експортирате данните в CSV файл. Трябва да посочите изходната таблица и пътя до целевия файл. Този път пътят трябва да е абсолютен:
КОПИРАЙТЕ служители ДО '/tmp/employees.csv' CSV HEADER;
Ако трябва да експортирате само някои от редовете от базата данни, използвайте командата SELECT, както следва:
КОПИРАНЕ (ИЗБЕРЕТЕ * ОТ служители, където име='Мойна') ДА СЕ '/tmp/employees-moyna.csv' CSV HEADER;
Експортирайте CSV файлове от страна на клиента
За да експортирате данни от страна на клиента, използвайте \копие командване и ДА СЕ ключова дума в командния ред на psql:
\copy служители КЪМ 'път към файл.csv' CSV заглавка;
Използване на адаптер за база данни
Не е необходимо да използвате терминала, за да импортирате CSV файл. Можете да импортирате данните чрез обект курсор, като използвате предпочитания от вас език за програмиране. Например, ако работите с Python, можете да се свържете към PostgreSQL сървъра и да изпълните КОПИЕ команда.
За целта трябва да свържете Python към Postgres чрез адаптер за база данни като psycopg2.
pip инсталирайте psycopg2
Свържете се с базата данни, като използвате следния код:
импортиране psycopg2;
връзка = psycopg.connect(
база данни="employee_db",
домакин = "локален хост"
потребител = "postgres",
парола="парола",
)
След това създайте обект на курсора и го използвайте, за да изпълните командата COPY:
курсор = връзка.курсор()
cursor.execute(
„КОПИРАЙТЕ служители (идентификатор, име, фамилия, имейл)
ОТ '/tmp/sample.csv'
DELIMITER ','
CSV ЗАГЛАВКА;"
)
връзка.close()
Управлявайте данните си в PostgreSQL с удобството на CSV
Това е лесен процес за импортиране и експортиране на данни с помощта на PostgreSQL и CSV файлове. Можете да използвате командите psql на клиента или сървъра или да използвате програмно адаптер за база данни.
Ако сте по-скоро GUI човек, обмислете използването на инструмента pgAdmin. Това е GUI приложение с отворен код, което може да ви помогне да импортирате и експортирате данни още по-лесно.