Найти в Дзене
Властелин машин

Как работать с лучшей бесплатной базой данных из Python

Отличным модулем для работы с PostgreSQL из Python является psycopg2 (написан на Си). Посмотрим, как настроить работу в несколько строк кода.
Для установки psycopg2 в теории можно воспользоваться как менеджером пакетов pip, так и conda (если вы используете среду для программирования Anaconda). Я рекомендую по возможности пользоваться Anaconda и ее инструментарием, так как это избавляет вас от

Отличным модулем для работы с PostgreSQL из Python является psycopg2 (написан на Си). Посмотрим, как настроить работу в несколько строк кода.

Для установки psycopg2 в теории можно воспользоваться как менеджером пакетов pip, так и conda (если вы используете среду для программирования Anaconda). Я рекомендую по возможности пользоваться Anaconda и ее инструментарием, так как это избавляет вас от возникающих проблем с совместимостью или неполадками при установке пакетов. То есть любой пакет сначала желательно попробовать установить с использованием conda, а если он найден не будет, применять pip. Например, в ходе установки psycopg2 через pip у меня возникли проблемы:

-2

В то же время аналогичная команда с conda завершилась без проблем:

-3

Теперь создаем новый скрипт, импортируем библиотеку и инициализируем соединение с базой данных:

import psycopg2
conn = psycopg2.connect(dbname='postgres', user='postgres', password='postgres', host='localhost')

Для получения соединения потребуется задать, имя базы данных (в нашем примере - postgres), имя (postgres) и пароль пользователя (postgres), а также адрес хоста (localhost).

Чтобы делать запросы к базе данных нужно получить курсор:

cursor = conn.cursor()

Далее можно сделать выборку имеющихся в некоторой таблице значений следующим образом (работаем с таблицей authors, которую создали ранее):

cursor.execute('SELECT * FROM authors')
cursor.fetchall()

-4

Посредство вызова метода execute курсора можно выполнять не только запросы к базе данных. Например, осуществим вставку нового значения и выведем результат:

cursor.execute("INSERT INTO authors (name, adr, success) VALUES ('fifth', 'adr5','6')")
-5

Теперь обновим значение и посмотрим на результат:

cursor.execute("UPDATE authors SET NAME='first2' WHERE adr = 'adr1'")
-6

Удалим последнее значение:

cursor.execute("DELETE FROM authors where name='first2'")

-7

После завершения работы следует закрыть курсор и соединение с базой данных:

cursor.close()
conn.close()

Таким образом, psycopg2 позволяет выполнять стандартные операции для работы с базой данных PostgreSQL из Python. А вы какие используете инструменты работы с базами данных? Делитесь в комментариях.