Коннектор PostgreSQL Python

Содержание
  1. Введение Коннектор «PostgreSQL Python» позволяет программам Python получать доступ к базам данных PostgreSQL, коннектор использует API, который соответствует спецификации API баз данных Python. Есть несколько драйверов Python для PostgreSQL. Вот список драйверов: Connector License Платформы версии Python Psycopg LGPL Unix, Win32 2.4-3.2 PyGreSQL BSD Unix, Win32 2.3-2.6 ocpgdb BSD Unix 2.3-2.6 py-postgresql BSD любой (чистый Python) 3.0+ bpgsql LGPL любой (чистый Python) 2.3-2.6 pg8000 BSD любой (чистый Python) 2.5+/3.0+ Psycopg — самый популярный адаптер PostgreSQL для языка программирования Python. По своей сути, он полностью реализует спецификации Python DB API 2.0. Несколько расширений предоставляют доступ ко многим функциям, предлагаемым PostgreSQL. Psycopg выпущен в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU, позволяющей использовать как бесплатное, так и несвободное программное обеспечение. Возможности Psycopg: Psycopg написан в основном на C и включает в себя библиотеку libpq, что делает его быстрым и безопасным. Поддерживает версии Python от 2.5 до 3.4. Поддерживает версии PostgreSQL от 7.4 до 9.4. Полностью совместимая реализация спецификации Python DB API для адаптеров баз данных. Поточно-ориентированный: потоки могут использовать разные соединения или совместно использовать одно и то же соединение. Асинхронный неблокирующий ввод-вывод также интегрирован с библиотеками на основе сопрограмм. Адаптация многих объектов Python в тип базы данных: кортежи в записи, списки в массив, словари в hstore, гибкая поддержка JSON. Возможность расширения за счет новых адаптеров для преобразования объектов Python в синтаксис SQL и преобразователей типов для преобразования PostgreSQL возвращает типы объектов Python. Курсоры на стороне сервера. Поддержка КОПИРОВАНИЯ. Поддержка больших объектов. Может отправлять и получать асинхронные уведомления. Поддержка двухфазной фиксации. Загрузка и установка Соединитель python работает на любой платформе, где установлен Python. Python предустановлен во многих дистрибутивах Linux или Unix-подобных системах, таких как Mac OS X и FreeBSD. Установить из пакета Linux: В Debian, Ubuntu и другие дистрибутивы на основе deb выполняют следующую команду, чтобы установить пакет со всеми его зависимостями.. sudo apt-get install python-psycopg2 Mac OS X: Psycopg доступен как fink пакет в нестабильном дереве: вы можете установить его с помощью: fink install psycopg2-py27 Библиотека также доступна на MacPorts. Попробуйте: sudo port install py27-psycopg2 Установите коннектор Python в Microsoft Windows Перед установкой коннектора в Windows: Для завершения операции установки могут потребоваться права root или администратора. Перед установкой дистрибутива Python в вашей системе включите python.exe в Параметр Windows% PATH% (переменная среды пути) или добавьте его вручную, если он не включен. win-psycopg — это порт Windows интерфейса базы данных psycopg python-postgresql. Версия: 2.6.0 . Файлы выпуска: Python Version ( для x86-версий Python) 64-разрядная (AMD64/EM64T/x64) версия (для 64-битных версий Python) Python 2.6 psycopg2-2.6.0.win32-py2.6- pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py2.6-pg9.4.1-release.exe Python 2.7 psycopg2-2.6.0.win32-py2.7-pg9.4.1-release.exe psycopg2-2.6.0. win-amd64-py2.7-pg9.4.1-release.exe Python 3.2 psycopg2-2.6.0. win32-py3.2-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.2-pg9.4.1-release.exe Python 3.3 psycopg2-2.6.0.win32-py3.3-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.3-pg9.4.1-release.exe Python 3.4 psycopg2-2.6.0.win32-py3.4-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.4-pg9.4.1-release.exe API-интерфейсы модуля Python psycopg2 Базовое использование Psycopg является общим для всех адаптеров баз данных, реализующих протокол DB API 2.0 . Подключитесь к существующей базе данных: import psycopg2conn = psycopg2.connect (database = "postgres ", user =" postgres ", password =" datasoft123 ", host =" 127.0.0.1 ", port =" 5432 ") print (" База данных подключена .... ") Вывод: База данных подключена .... Команда Python для открытия курсора для выполнения операций с базой данных: cur = conn.cursor () Создает новую таблицу: import psycopg2conn = psycopg2.connect (database = "postgres", user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") печать ("База данных подключена ....") cur = conn.cursor () cur.execute ("CREATE TABLE test (id serial PRIMARY KEY, sname CHAR (50), roll_num integer);") print ("Таблица создана .. .. ") conn.commit () conn.close () Вывод: База данных подключена .... Таблица создана .... Вставьте несколько записей: import psycopg2conn = psycopg2.connect (database = "postgres", user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("INSERT INTO test (id, sname, roll_num) VALUES ( 10, 'Сара', 3) "); cur.execute (" INSERT INTO test (id, sname, roll_num) VALUES (20, 'Ema', 4) "); cur.execute (" INSERT INTO test (id , sname, roll_num) VALUES (30, 'Drabir', 2) "); cur.execute (" INSERT INTO test (id, sname, roll_num) VALUES (40, 'Surya', 1) "); conn. commit () print ("Записи успешно созданы"); conn.close () Вывод: Записи успешно созданы. Выберите все записи: import psycopg2conn = psycopg2.connect (database = "postgres", user = "postgres" , password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No. Имя студента ") print (" - ------------------------- ") rows = cur.fetchall () для строки в строках: print (row [0], '', str (row [2]). strip (), '', row [1] .strip ()) conn.close () Вывод: Номер удостоверения личности Имя ученика -------------------------- 10 3 Sara20 4 Ema30 2 Drabir40 1 Surya Обновляет столбцы существующих строк в названной таблице новыми значениями: import psycopg2conn = psycopg2.connect (database = "postgres" , user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("UPDATE test set roll_num = 5 where ID = 10" ) conn.commitcur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No. Имя учащегося") print ("------------------ -------- ") rows = cur.fetchall () для строки в строках: print (row [0], '', str (row [2]). strip (), '', row [1] ] .strip ()) conn.close () Вывод: ID Roll No. Имя учащегося --------- ----------------- 20 4 Эма30 2 Драбир40 1 Сурья10 5 Сара Удалить запись (и): import psycopg2conn = psycopg2.connect (database = "postgres" , user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("УДАЛИТЬ из теста, где ID = 10;") conn .commitcur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No. Имя учащегося") print ("-------------------- ------ ") rows = cur.fetchall () для строки в строках: print (row [0], '', str (row [2]). strip (), '', row [1]. strip ()) conn.close () Вывод: ID Roll Нет. Имя студента -------------------------- 20 4 Ema30 2 Drabir40 1 Surya
  2. Загрузка и установка
  3. API-интерфейсы модуля Python psycopg2

Введение

Коннектор «PostgreSQL Python» позволяет программам Python получать доступ к базам данных PostgreSQL, коннектор использует API, который соответствует спецификации API баз данных Python.

Есть несколько драйверов Python для PostgreSQL. Вот список драйверов:

Connector License Платформы версии Python
Psycopg LGPL Unix, Win32 2.4-3.2
PyGreSQL BSD Unix, Win32 2.3-2.6
ocpgdb BSD Unix 2.3-2.6
py-postgresql BSD любой (чистый Python) 3.0+
bpgsql LGPL любой (чистый Python) 2.3-2.6
pg8000 BSD любой (чистый Python) 2.5+/3.0+

Psycopg — самый популярный адаптер PostgreSQL для языка программирования Python. По своей сути, он полностью реализует спецификации Python DB API 2.0. Несколько расширений предоставляют доступ ко многим функциям, предлагаемым PostgreSQL.

Psycopg выпущен в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU, позволяющей использовать как бесплатное, так и несвободное программное обеспечение.

Возможности Psycopg:
Psycopg написан в основном на C и включает в себя библиотеку libpq, что делает его быстрым и безопасным.

  • Поддерживает версии Python от 2.5 до 3.4.
  • Поддерживает версии PostgreSQL от 7.4 до 9.4.
  • Полностью совместимая реализация спецификации Python DB API для адаптеров баз данных.
  • Поточно-ориентированный: потоки могут использовать разные соединения или совместно использовать одно и то же соединение.
  • Асинхронный неблокирующий ввод-вывод также интегрирован с библиотеками на основе сопрограмм.
  • Адаптация многих объектов Python в тип базы данных: кортежи в записи, списки в массив, словари в hstore, гибкая поддержка JSON.
  • Возможность расширения за счет новых адаптеров для преобразования объектов Python в синтаксис SQL и преобразователей типов для преобразования PostgreSQL возвращает типы объектов Python.
  • Курсоры на стороне сервера.
  • Поддержка КОПИРОВАНИЯ.
  • Поддержка больших объектов.
  • Может отправлять и получать асинхронные уведомления.
  • Поддержка двухфазной фиксации.

Загрузка и установка

Соединитель python работает на любой платформе, где установлен Python. Python предустановлен во многих дистрибутивах Linux или Unix-подобных системах, таких как Mac OS X и FreeBSD.

Установить из пакета

Linux:
В Debian, Ubuntu и другие дистрибутивы на основе deb выполняют следующую команду, чтобы установить пакет со всеми его зависимостями..

 sudo apt-get install python-psycopg2 

Mac OS X:
Psycopg доступен как fink пакет в нестабильном дереве: вы можете установить его с помощью:

 fink install psycopg2-py27 

Библиотека также доступна на MacPorts. Попробуйте:

 sudo port install py27-psycopg2 

Установите коннектор Python в Microsoft Windows

Перед установкой коннектора в Windows:

  • Для завершения операции установки могут потребоваться права root или администратора.
  • Перед установкой дистрибутива Python в вашей системе включите python.exe в Параметр Windows% PATH% (переменная среды пути) или добавьте его вручную, если он не включен.

win-psycopg — это порт Windows интерфейса базы данных psycopg python-postgresql. Версия: 2.6.0 .

Файлы выпуска:

Python
Version
( для x86-версий Python) 64-разрядная (AMD64/EM64T/x64) версия
(для 64-битных версий Python)
Python 2.6 psycopg2-2.6.0.win32-py2.6- pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py2.6-pg9.4.1-release.exe
Python 2.7 psycopg2-2.6.0.win32-py2.7-pg9.4.1-release.exe psycopg2-2.6.0. win-amd64-py2.7-pg9.4.1-release.exe
Python 3.2 psycopg2-2.6.0. win32-py3.2-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.2-pg9.4.1-release.exe
Python 3.3 psycopg2-2.6.0.win32-py3.3-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.3-pg9.4.1-release.exe
Python 3.4 psycopg2-2.6.0.win32-py3.4-pg9.4.1-release.exe psycopg2-2.6.0.win-amd64-py3.4-pg9.4.1-release.exe

API-интерфейсы модуля Python psycopg2

Базовое использование Psycopg является общим для всех адаптеров баз данных, реализующих протокол DB API 2.0 .

Подключитесь к существующей базе данных:

  import psycopg2conn = psycopg2.connect (database = "postgres  ", user =" postgres ", password =" datasoft123 ", host =" 127.0.0.1 ", port =" 5432 ") print (" База данных подключена .... ")  

Вывод:

 База данных подключена .... 

Команда Python для открытия курсора для выполнения операций с базой данных :

  cur = conn.cursor ()  

Создает новую таблицу:

  import psycopg2conn = psycopg2.connect (database = "postgres", user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") печать  ("База данных подключена ....") cur = conn.cursor () cur.execute ("CREATE TABLE test (id serial PRIMARY KEY, sname CHAR (50), roll_num integer);") print ("Таблица создана ..  .. ") conn.commit () conn.close ()  

Вывод:

 База данных подключена .... Таблица создана .... 

Вставьте несколько записей:

  import psycopg2conn = psycopg2.connect (database = "postgres", user  = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("INSERT INTO test (id, sname, roll_num)  VALUES (  10, 'Сара', 3) "); cur.execute (" INSERT INTO test (id, sname, roll_num)  VALUES (20, 'Ema', 4) "); cur.execute (" INSERT INTO test (id  , sname, roll_num)  VALUES (30, 'Drabir', 2) "); cur.execute (" INSERT INTO test (id, sname, roll_num)  VALUES (40, 'Surya', 1) "); conn.  commit () print ("Записи успешно созданы"); conn.close ()  

Вывод:

 Записи успешно созданы. 

Выберите все записи:

  import psycopg2conn = psycopg2.connect (database = "postgres", user = "postgres"  , password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No.  Имя студента ") print (" -  ------------------------- ") rows = cur.fetchall () для строки в строках: print (row [0], '', str  (row [2]). strip (), '', row [1] .strip ()) conn.close ()  

Вывод:

 Номер удостоверения личности Имя ученика -------------------------- 10 3 Sara20 4 Ema30 2 Drabir40 1 Surya 

Обновляет столбцы существующих строк в названной таблице новыми значениями:

  import psycopg2conn = psycopg2.connect (database = "postgres"  , user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("UPDATE test set roll_num = 5 where ID = 10"  ) conn.commitcur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No. Имя учащегося") print ("------------------  -------- ") rows = cur.fetchall () для строки в строках: print (row [0], '', str (row [2]). strip (), '', row [1]  ] .strip ()) conn.close ()  

Вывод:

 ID Roll No. Имя учащегося ---------  ----------------- 20 4 Эма30 2 Драбир40 1 Сурья10 5 Сара  

Удалить запись (и):

  import psycopg2conn = psycopg2.connect (database = "postgres"  , user = "postgres", password = "datasoft123", host = "127.0.0.1", port = "5432") cur = conn.cursor () cur.execute ("УДАЛИТЬ из теста, где ID = 10;") conn  .commitcur.execute ("SELECT id, sname, roll_num from test") print ("ID Roll No. Имя учащегося") print ("--------------------  ------ ") rows = cur.fetchall () для строки в строках: print (row [0], '', str (row [2]). strip (), '', row [1].  strip ()) conn.close ()  

Вывод:

 ID Roll Нет. Имя студента -------------------------- 20 4 Ema30 2 Drabir40 1 Surya 

Оцените статью
nanomode.ru
Добавить комментарий