Взаимодействие с БД в Python
Имеет ли Python свои библиотеки для работы с СУБД (как PHP)?
Источник: Stack Overflow на русском
Имеет ли Python свои библиотеки для работы с СУБД (как PHP)?
Да, безусловно, причем для очень многих СУБД. Однако, работать с СУБД напрямую - грустно и (идеологически) неправильно. Гораздо удобнее использовать ORM (object-relation mapping), в Python наиболее распространен SQLAlchemy и надстройка над ним - Elixir
К основным БД у Python есть либы и причем не по одной.
В своей работе использую sqlite, Firebird и Postgresql.
К примеру, кусок кода для Postgresql :
#-*- coding: UTF-8 -*-
import pg
pgcon=None
def opendb(host,base,user,password):
global pgcon
pgcon=pg.connect(dbname=base,host=host,user=user,passwd=password)
def closedb():
global pgcon
pgcon.close()
def querysql(val):
global pgcon
pgcon.query(val)
pass
def queryparam(sql_val,param):
global pgcon
pgcon.query(sql_val % pg.escape_bytea(param))
def queryresparam(val):
global pgcon
f=pg.unescape_bytea(pgcon.query(val).getresult()[0][0])
return f
def querysqlres(val):
global pgcon
data=pgcon.query(val).getresult()
return data