Найти в Дзене
Old Programmer

Библиотека PyQT5. Работа с базой данных PostgreSql (библиотека psycopg2)

Весь мой канал Old Programmer о программировании и программистов здесь: Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). Кроме того здесь все о Python, здесь о QT5, а здесь о библиотеках Python. Мои материалы по языку SQL здесь.

  • Список разделов канала Old Programmer, канала о программировании и программистах

Сегодня решил совместить в одном сразу три темы: PtQt5, библиотеку psycopg2 и взаимодействие с PostgreSQL.

Но я вам этого не советовал
Но я вам этого не советовал
programmer's notes

Управление базами данных PostgreSQL на python (psycopg2)

Библиотеку psycopg2 рекомендую всем, кто собрался писать приложения на Python с использованием баз данных PostgreSQL. У меня была программа, написанная некоторое время назад для школьников с демонстрацией работы с базами данных SQLite. Я ее переделал для PostgreSQL и библиотеки psycopg2, ну и несколько подсократил, убрав в частности кнопку "Изменить" (pyqtdb1000.py). Работу с окнами на PyQt5 и объектами (кнопками, полями ввода, таблицами) я уже демонстрировал (см. тут, тут и тут ), но в данной программе важное - базы данных.

  1. Правильное соединение с базой данных (см. метод connect).
  2. Создание курсора - объекта необходимого для выполнения команд SQL.
  3. Выполнение команд SQL с помощью метода execute.
  4. Обязательное выполнение метода commit, после команд, которые меняют содержимое базы данных.
  5. Когда ваше приложение работает с базой данных, то можно подойти к этому двумя способами: 1. Открыть соединения при запуске программы и далее использовать его на протяжении всей работы программы. 2. Открывать и закрывать соединение по необходимости. Первый подход часто используют в GUI-приложениях, второй встречается в Web-приложениях. В данном случае я выбрал как раз первый способ.

Окно программы представлено на рисунке 1.

Рисунок 1. Окно программы
Рисунок 1. Окно программы

Как говорит наш президент, большие данные наше все. Подписываемся на мой канал Old Programmer.

Фрагмент программы pyqtdb1000.py
Фрагмент программы pyqtdb1000.py
programmer's notes

Рекомендуем почитать