Cómo acceder a PostgreSQL con Python

Cómo acceder a PostgreSQL con Python
PostgreSQL es un asombroso y moderno Riñonalelacional Database METROanemamento SYstem (RDBMS). PostgreSQL también es una base de datos de código abierto. PostgreSQL es plataforma cruzada. Puede instalar PostgreSQL en Windows, Mac OS y Linux muy fácilmente.

Puede interactuar fácilmente con la base de datos PostgreSQL con el lenguaje de programación de Python. Todo lo que tienes que hacer es instalar el módulo Python psycopg2 con pip y estás listo para ir.

En este artículo, le mostraré cómo acceder a la base de datos PostgreSQL con Python en Linux. Voy a usar Debian 9 Stretch como mi sistema operativo y lenguaje de programación de Python 3. La versión de base de datos PostgreSQL que voy a usar es PostgreSQL 9.6. Entonces empecemos.

Requisitos previos:

Debes tener

  • Cualquier distribución moderna de Linux, como Ubuntu/Debian/Centos, etc., instalada.
  • Lenguaje de programación de Python instalado.
  • PIP o PIP3 instalado dependiendo de la versión de su Python.
  • PostgreSQL instalado.

Puedes encontrar muchos artículos en Linuxhint.com que puede ayudarlo a configurar PostgreSQL e instalar Python+Pip en su distribución favorita de Linux. Solo buscalo.

Creación de una base de datos PostgreSQL y usuario:

En esta sección, le mostraré cómo crear una base de datos PostgreSQL y un usuario en Linux. Nos conectaremos a esta base de datos desde Python más adelante en este artículo.

Primero descubra su nombre de usuario de inicio de sesión con el siguiente comando:

$ whoami

Como puede ver, mi nombre de usuario de inicio de sesión es pala. El tuyo será diferente. Asegúrese de tomar nota de ello, ya que lo necesitará más tarde.

Ahora inicie el terminal interactivo PostgreSQL con el siguiente comando:

$ sudo -u postgres psql

El terminal interactivo PostgreSQL debe comenzar.

Ahora cree una base de datos PostgreSQL pyapp Con el siguiente comando SQL:

Postgres =# Crear base de datos Pyapp;

El pyapp Se debe crear una base de datos.

Ahora tienes que crear un nuevo usuario de PostgreSQL. Además, asegúrese de que el nombre de usuario sea el mismo que su nombre de usuario de inicio de sesión.

Haga un nuevo usuario de PostgreSQL con el siguiente comando SQL:

Postgres =# Crear usuario Your_login_Username con contraseña cifrada 'Your_Password';

Nota: Reemplazar you_login_username y tu contraseña con su propio nombre de usuario de inicio de sesión y contraseña.

Se debe crear el usuario de PostgreSQL.

Ahora otorgue al usuario recién creado todos los privilegios a la recién creada base de datos pyapp Con el siguiente comando SQL:

postgres =# otorgar todo en la base de datos Pyapp a your_login_username;

Todos los privilegios para el pyapp la base de datos se otorga a su usuario de inicio de sesión.

Ahora salga del terminal PostgreSQL con el siguiente comando:

Postgres =# \ Q

Ahora veamos si podemos iniciar sesión en nuestra base de datos recién creada pyapp Usando nuestro nombre de usuario de inicio de sesión con el siguiente comando:

$ psql --dbname = pyapp - -password

Ahora escriba la contraseña que establece anteriormente para su usuario de PostgreSQL y presione .

Deberías iniciar sesión.

Instalación de PSYCOPG2 con PIP y PIP3:

Ahora es el momento de instalar psycopg2 Módulo de pitón.

Si está utilizando Python 3, ejecute el siguiente comando para instalar psycopg2:

$ PIP3 Instalar PSYCOPG2-Binary

Si está utilizando Python 2, ejecute el siguiente comando para instalar psycopg2:

$ PIP Instale PSYCOPG2-Binary

PsyCopg2-binary Se debe instalar el módulo PIP.

Creación del directorio del proyecto:

Ahora cree un directorio de proyecto, pyapp Con el siguiente comando:

$ mkdir pyapp

Y navegue al directorio con el siguiente comando:

$ CD Pyapp

Aquí es donde crearé todo el script de Python para acceder a la base de datos PostgreSQL.

Conectando a la base de datos PostgreSQL:

Primero, cree un programa de Python conectar.py En el directorio de su proyecto.

Ahora escriba las siguientes líneas y guarde el archivo.

Ahora ejecute el script conection.Py con uno de los siguientes comando:

Para Python 3:

$ Python3 Connect.py

Para Python 2:

$ Python Connect.py

Como puede ver, estoy conectado a la base de datos.

Aquí en la línea 1, el psycopg2 Se importa el módulo. En la línea 4, psycopg2.conectar() El método se utiliza para conectarse a la base de datos PostgreSQL. A try-excepto El bloque se usa para capturar errores si en caso de que algo salga mal y la conexión a la base de datos falla.

Ejecución de comandos SQL:

En esta sección, crearé una mesa simple usuarios Usando Python psycopg2

Escriba el siguiente código a un nuevo script de Python crear mesa.py y guárdelo.

Ahora ejecuta el script:

$ python3 create_table.py

Como puede ver, la mesa usuarios es creado.

Con PSYCOPG2, si desea ejecutar un comando SQL, primero debe crear un cursor.

En la línea 9, creé un cursor con conn.cursor() método y lo almacenó a canalla variable. Aquí conn es la variable donde almacené la conexión de la base de datos desde psycopg2.conectar() método.

Luego ejecuta el comando SQL con el cursor como canalla.exec ("Your_Sql_Goes_here"), que hice en la línea 12-17 para crear un usuarios mesa.

Si su comando SQL realiza cambios en la base de datos a la que está conectado, entonces debe llamar conn.comprometerse() método para hacer que los cambios permanentes como lo hice en la línea 19.

Insertar datos en la base de datos PostgreSQL:

Ahora que tienes usuarios Tabla lista, insertemos algunos datos en la tabla.

Crear un nuevo inserto de archivo.Py en el directorio de su proyecto y escriba los siguientes códigos y guarde el archivo.

Ahora ejecuta el guión de Python insertar.py como sigue:

$ python3 inserto.py

Los datos deben insertarse.

Como puede ver en el terminal PostgreSQL.

En el inserto.script py, línea 12 curs.El método ejecutar () ejecuta la consulta SQL para insertar en el usuarios mesa. El %sLos s son reemplazados por las cuerdas desde la tupla, el segundo parámetro del canalla.ejecutar() método.

La primera ocurrencia de %s se reemplaza por el primer elemento de la tupla, el segundo %s se reemplaza por el segundo elemento de la tupla y así sucesivamente. También puede mezclar tipos de datos si lo desea. Por ejemplo, %d representa entero.

Obtener datos de la base de datos PostgreSQL:

Ahora puede obtener los datos que insertó en la base de datos PostgreSQL.

Primero crea un nuevo script de Python buscar.py y escriba las siguientes líneas de código. Luego guarde el archivo.

Ahora ejecuta la búsqueda de script.py con el siguiente comando:

$ python3 busca.py

Como puede ver, los datos que inserté se obtienen. Se devuelve como una tupla, que es como una matriz.

En el buscar.py Script, todo es similar a otros scripts. Aquí, canalla.Fetchone () El método se utiliza para devolver la primera fila de la tabla. Si tiene muchas filas, entonces puede seguir llamando canalla.Fetchone () Para iterar a través de la lista. Cuando se devuelven todas las filas, canalla.Fetchone () Volverá Ninguno.

Gracias por leer este artículo.