21. BBDD - manuelmarinduque/Apuntes_Python_3 GitHub Wiki

Bases de datos

Pasos a seguir para conectar con PostgreSQL

  • Importar librería psycopg2.

  • Crear String variable datos de conexión en la que se indique el host, nombre de la BBDD (dbname), el usuario y su contraseña.

  • Crear variable conexión, la cual crea y abre la BBDD, usando la librería psycopg2 con el método connect(variable datos).

    • Es necesario controlar con una excepción la creación de la BBDD, para que no aparezca error en la ejecución del programa debido a una BBDD ya existente.
  • Crear variable puntero, la cual sirve para ejecutar consultas y manejar sus resultados, usando la variable conexión con el método cursor().

  • Ejecutar instrucción SQL (query), usando la variable puntero con el método execute(instrucción SQL). La instrucción SQL debe estar entre triple comilla simple:

  • Manejar los resultados de la consulta: Realizar CRUD:

  • Confirmar los cambios hechos en la BBDD, usando la variable conexión con el método commit().

  • Cerrar puntero, usando la variable puntero con el método close().

  • Cerrar conexión, usando la variable conexión con el método close().

Insertar varios registros a una tabla

Crear una lista compuesta de tuplas con los valores a insertar correspondiente a los campos de la tabla. Las tuplas son los registros a insertar. Luego, usando la variable puntero, ejecutar el método executemany(instrucción insert con %s, lista), donde en values de la instrucción insert se escribe entre paréntesis tantos %s como campos a insertar en la tabla o NULL en los campos a omitir.

Leer registros de una tabla

Los registros de una tabla se obtienen con la instrucción select. Luego, usando la variable puntero, ejecutar el método fetchall() que devuelve una lista compuesta de tuplas correspondiente a todos los registros, por tanto se debe crear la lista para almacenarlos. Para manipular los registros usar un bucle for que recorra la lista y también usar las funciones de lista y tuplas dependiendo de la funcionalidad del programa.

Nota: Crear funciones que definan una instrucción SQL a partir de los parámetros que reciban y retornen un String que sea pasado al método execute()

⚠️ **GitHub.com Fallback** ⚠️