Вмъкване на данни в PostgreSQL база данни

Ако някое от вашите полета изисква дата или час, вие също така ще искате да импортирате модула за дата, който е стандартно с Python.

За да отворите връзка с база данни, psycopg се нуждае от два аргумента: името на базата данни ('dbname') и името на потребителя ('user'). Синтаксисът за отваряне на връзка следва този формат:

За нашата база данни ще използваме името на базата данни „Птици“ и потребителското име „Робърт“. За обекта на свързване в рамките на програмата, нека използваме променливата „връзка“. Така че нашата команда за връзка ще гласи следното:

Естествено, тази команда ще работи само ако и двете променливи са точни: трябва да има истинска база данни с име "Птици", до която потребител с име "robert" има достъп. Ако едно от тези условия не е изпълнено, Python ще хвърли грешка.

На следващо място, Python обича да може да следи къде е останал за последно при четене и писане в базата данни. В psycopg това се нарича курсор, но ще използваме променливата 'mark' за нашата програма. Тогава можем да изградим следното задание:

instagram viewer

Докато някои SQL формати за вмъкване позволяват разбирана или нестатирана структура на колони, ние ще използваме следния шаблон за нашите вмъкнати изявления:

Въпреки че бихме могли да предадем изявление в този формат на метода на "psycopg" изпълни и така да вмъкнем данни в базата данни, това бързо става объркано и объркващо. По-добър начин е деление на декларацията отделно от командата 'Execute', както следва:

Накрая, след като предадем данните на PostgreSQL, трябва да ангажираме данните в базата данни:

Сега сме конструирали основните части на нашата функция „вмъкване“. Сглобени, частите изглеждат така:

Ще забележите, че имаме три променливи в нашето изявление: таблица, колони и стойности. Така те стават параметри, с които се нарича функцията:

Разбира се, трябва да следваме това с doc низ:

И накрая, ние имаме функция за вмъкване на данни в таблица по наш избор, използвайки колони и стойности, определени според нуждите.

За да извикаме тази функция, просто трябва да определим таблицата, колоните и стойностите и да ги предадем, както следва: