Comment accéder à PostgreSQL avec Python

Comment accéder à PostgreSQL avec Python
PostgreSQL est un incroyable et moderne Rélationnel Database Mgestion SSystème (RDBM). PostgreSQL est également une base de données open source. PostgreSQL est transformatrice. Vous pouvez installer PostgreSQL sur Windows, Mac OS et Linux très facilement.

Vous pouvez facilement interagir avec la base de données PostgreSQL avec un langage de programmation Python. Tout ce que vous avez à faire est d'installer le module Python psycopg2 avec Pip et tu es prêt à partir.

Dans cet article, je vais vous montrer comment accéder à la base de données PostgreSQL avec Python sur Linux. Je vais utiliser Debian 9 Stretch comme système d'exploitation et le langage de programmation Python 3. La version de la base de données PostgreSQL que je vais utiliser est PostgreSQL 9.6. Alors, commençons.

Conditions préalables:

Vous devez avoir

  • Toute distribution Linux moderne telle que Ubuntu / Debian / Centos, etc.
  • Langue de programmation Python installée.
  • PIP ou PIP3 installé en fonction de la version de votre python.
  • PostgreSQL installé.

Vous pouvez trouver de nombreux articles sur Linuxhint.com qui peut vous aider à configurer PostgreSQL et à installer Python + PIP sur votre distribution Linux préférée. Recherchez-le.

Création d'une base de données postgresql et d'un utilisateur:

Dans cette section, je vais vous montrer comment créer une base de données PostgreSQL et un utilisateur sur Linux. Nous nous connecterons à cette base de données de Python plus tard dans cet article.

Découvrez d'abord votre nom d'utilisateur de connexion avec la commande suivante:

$ whoami

Comme vous pouvez le voir, mon nom d'utilisateur de connexion est bousculade. Le vôtre sera différent. Assurez-vous d'en prendre une note car vous en aurez besoin plus tard.

Démarrez maintenant le terminal interactif PostgreSQL avec la commande suivante:

$ sudo -u postgres psql

Le terminal interactif postgresql doit commencer.

Créez maintenant une base de données PostgreSQL pyapp avec la commande SQL suivante:

Postgres = # Créer une base de données Pyapp;

Le pyapp la base de données doit être créée.

Vous devez maintenant créer un nouvel utilisateur PostgreSQL. Assurez-vous également que le nom d'utilisateur est le même que votre nom d'utilisateur de connexion.

Faites un nouvel utilisateur PostgreSQL avec la commande SQL suivante:

postgres = # Créer un utilisateur Votre_Login_Username avec un mot de passe chiffré 'your_password';

Remarque: remplacer Votre_Login_Username et votre mot de passe avec votre propre nom d'utilisateur et mot de passe de connexion.

L'utilisateur de PostgreSQL doit être créé.

Accordez maintenant à l'utilisateur nouvellement créé tous les privilèges de la base de données nouvellement créée pyapp avec la commande SQL suivante:

Postgres = # Grant tout sur la base de données pyapp à votre_login_username;

Tous les privilèges pour le pyapp la base de données est accordée à votre utilisateur de connexion.

Maintenant quitter le terminal postgresql avec la commande suivante:

postgres = # \ q

Voyons maintenant si nous pouvons nous connecter à notre base de données nouvellement créée pyapp Utilisation de notre nom d'utilisateur de connexion avec la commande suivante:

$ psql --dbname = pyapp --word-pass

Tapez maintenant le mot de passe que vous définissez plus tôt pour votre utilisateur PostgreSQL et appuyez sur .

Vous devriez être connecté.

Installation de Psycopg2 avec PIP et PIP3:

Il est maintenant temps d'installer psycopg2 Module python.

Si vous utilisez Python 3, alors exécutez la commande suivante pour installer psycopg2:

$ pip3 installer psycopg2-binaire

Si vous utilisez Python 2, alors exécutez la commande suivante pour installer psycopg2:

$ pip install psycopg2-binaire

psycopg2-binaire Le module PIP doit être installé.

Création du répertoire de projet:

Créez maintenant un répertoire de projet, pyapp avec la commande suivante:

$ mkdir pyapp

Et accédez au répertoire avec la commande suivante:

$ cd pyapp

C'est là que je vais créer tout le script Python pour accéder à la base de données PostgreSQL.

Connexion à la base de données PostgreSQL:

Tout d'abord, créez un programme Python connecter.py Dans votre répertoire de projet.

Tapez maintenant les lignes suivantes et enregistrez le fichier.

Maintenant, exécutez le script Connect.py avec l'une des commandements suivants:

Pour Python 3:

$ python3 connect.py

Pour Python 2:

$ python connect.py

Comme vous pouvez le voir, je suis connecté à la base de données.

Ici sur la ligne 1, le psycopg2 le module est importé. Dans la ligne 4, psycopg2.connecter() La méthode est utilisée pour se connecter à la base de données PostgreSQL. UN essai à l'exception Le bloc est utilisé pour attraper des erreurs si dans le cas où quelque chose ne va pas et que la connexion à la base de données échoue.

Exécution des commandes SQL:

Dans cette section, je vais créer une table simple utilisateurs Utilisation de Python psycopg2

Tapez le code suivant à un nouveau script Python create_table.py Et sauvegard.

Exécutez maintenant le script:

$ python3 create_table.py

Comme vous pouvez le voir, la table utilisateurs est créé.

Avec PSYCOPG2, si vous souhaitez exécuter une commande SQL, vous devez d'abord créer un curseur.

Sur la ligne 9, j'ai créé un curseur avec Connecticut.le curseur() Méthode et le stocker pour cur variable. Ici Connecticut est la variable où j'ai stocké la connexion de la base de données depuis psycopg2.connecter() méthode.

Ensuite, vous exécutez la commande SQL avec le curseur comme cur.exec ("your_sql_goes_here"), que j'ai fait en ligne 12-17 pour créer un utilisateurs tableau.

Si votre commande SQL apporte des modifications à la base de données à laquelle vous êtes connecté, alors vous devez appeler Connecticut.commettre() Méthode pour rendre les modifications permanentes comme je l'ai fait dans la ligne 19.

Insertion de données à la base de données PostgreSQL:

Maintenant que tu as utilisateurs Table prêt, insérons quelques données dans la table.

Créer un nouvel insert de fichier.Py dans le répertoire de votre projet et saisissez les codes suivants et enregistrez le fichier.

Maintenant, exécutez le script Python insérer.py comme suit:

$ insert Python3.py

Les données doivent être insérées.

Comme vous pouvez le voir dans le terminal postgresql.

Dans l'insert.script py, ligne 12 cur.La méthode exécuter () exécute la requête SQL pour insérer dans le utilisateurs tableau. Le % ssont remplacés par les chaînes du tuple, le deuxième paramètre du cur.exécuter() méthode.

La première occurrence de % s est remplacé par le premier élément du tuple, le second % s est remplacé par le deuxième élément du tuple et ainsi de suite. Vous pouvez également mélanger les types de données si vous le souhaitez. Par exemple, %d représente entier.

Remplir les données de la base de données PostgreSQL:

Vous pouvez maintenant récupérer les données que vous avez insérées dans la base de données PostgreSQL.

Créez d'abord un nouveau script python aller chercher.py et saisir les lignes de code suivantes. Puis enregistrez le fichier.

Maintenant, exécutez le script Fetch.py avec la commande suivante:

$ python3 chercher.py

Comme vous pouvez le voir, les données que j'ai insérées sont récupérées. Il est retourné comme un tuple, qui est un peu comme un tableau.

Dans le aller chercher.py script, tout est similaire à celle des autres scripts. Ici, cur.fetchone () la méthode est utilisée pour retourner la première ligne du tableau. Si vous avez plusieurs lignes, alors vous pouvez continuer à appeler cur.fetchone () pour itérer dans la liste. Quand toutes les lignes sont retournées, cur.fetchone () reviendra Aucun.

Merci d'avoir lu cet article.