sábado, 20 de agosto de 2016

Python PostgreSQL ejemplo

| No comment




En este post se describe como puedes conectarte a una base de datos PostgreSQL con Psycop2.
Actualización:  Se muestra un script que te ayuda a crear un CRUD app en Python y PostgreSQL siemplemente especificando los campos de la base de datos. Puedes descargarlo en:  GitHub



Versiones del software


  • Database: Postgresql v9.5
  • Programming language: Python v2.7
  • psycopg2 v2.6.2
  • Windows 10

Crear base de datos

Se crea la base de datos trixdiscover1 con el usuario trixdiscover1 y contraseña TrixDiscover1 con todos los privilegios para la base de datos.

create database trixDiscover1;
create user TrixDiscover1;
\password TrixDiscover1
GRANT ALL PRIVILEGES ON DATABASE trixDiscover1 TO TrixDiscover1;

Psycop2

Psycop2 is  a PostgreSQL adapter for python. You don’t need Flask or SQLAlchemy to connect to PostgreSQL you can connect straight away with Psycop2.

Install Psycopg2

pip install psycopg2

Ahora vamos a crear las tablas desde Python con psycopg2

Actividad









Categoría





Clasificación 





Prestador














import psycopg2
import sys

db_con = None

try:

       Create a database session
       db_con = psycopg2.connect(database='trixdiscover1', user='trixdiscover1', password='TrixDiscover1')
       print("Connection established|")
       Create a client cursor to execute commands
        
       cursor = db_con.cursor()
       cursor.execute("CREATE TABLE clasificacion (idClasificacion BIGSERIAL NOT NULL PRIMARY KEY, nombre TEXT, descripcion TEXT);")
       cursor.execute("CREATE TABLE categoria (idCategoria BIGSERIAL NOT NULL PRIMARY KEY, nombre TEXT, descripcion TEXT, idClasificacion BIGINT REFERENCES clasificacion(idClasificacion))")
       cursor.execute("CREATE TABLE prestador (idPrestador BIGSERIAL NOT NULL PRIMARY KEY, fecha date, nomOrganizacion TEXT,direccion TEXT, gerente TEXT, email TEXT, pagina TEXT, facebook TEXT, youtube TEXT, whatsapp TEXT, instagram TEXT, twitter TEXT, tumblr TEXT, telEmpresa TEXT, telCel Text, lat TEXT, long TEXT)")
       #The variables placeholder must always be a %s, psycop2 will automatically convert the values to SQL literal
        
       cursor.execute("INSERT INTO clasificacion (nombre,descripcion) VALUES (%s, %s)",("Sports", "lala"))
       cursor.execute("INSERT INTO categoria (nombre,descripcion,idClasificacion) VALUES (%s, %s, %s)",("hola","uno",1))
       cursor.execute("INSERT INTO prestador (fecha,nomOrganizacion,direccion,gerente,email,pagina,facebook,youtube,whatsapp,instagram,twitter,tumblr,telEmpresa,telCel,lat,long) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",('2016-07-25','Ally Cat Sailing Adventures','Calle Marina en La Cruz de Huanacaxtle','Juan Perez','allycatsailing@gmail.com','http://allycatsailing.com','facebook','youtube','whatsapp','instagram','twitter','tumblr','3221364230','23432245','207.507.862','-1.053.807.937'))
       db_con.commit()
        
       cursor.execute("SELECT * FROM prestador")
       print(cursor.fetchone())

except psycopg2.DatabaseError as e:

       print ('Error %s' % e )
        
       sys.exit(1)
        
finally:
        
       if db_con:
              db_con.close()

Tags :

No hay comentarios:

Publicar un comentario

Publicaciones Populares

Nosotros

Este Blog surguio ante la necesidad de estudiar Elm y observar que no existia documentación alguna. Así que es de uso personal para estudiar y aprender de esta programación funcional.

Para la realización de algunos post se realizo la documentación oficial de Elm https://guide.elm-lang.org/get_started.html

¿Lo ves? Es curioso...

Categorías