[PYTHON] mémo psycopg2

Un service commémoratif pour les mémos locaux aura lieu à Qiita. Je l'ai écrit l'année dernière, il peut donc y avoir de vieilles informations. ..

À propos de psycopg2

psycopg2 est une bibliothèque qui gère PostgreSQL en Python. Refs.: 1,2

Connectez-vous à la base de données PostgreSQL avec psycopg2

Vous pouvez créer une connexion DB avec conn = psycopg2.connect ({DB_URL (str)}). {DB_URL} est spécifié par postgresql: // {username}: {pass} @ {IP Address or hostname}: {port} / {DB name}.

Ou conn = psycopg2.connect (host = {adresse IP ou nom d'hôte (str)}, port = {numéro de port (int)}, dbname = {nom de base de données (str)}, utilisateur = {nom d'utilisateur (str)}, Vous pouvez également le spécifier avec password = {pass (str)}) .

Si vous n'avez plus besoin de la connexion, vous pouvez utiliser close (), mais vous pouvez utiliser la syntaxe with, c'est donc une bonne idée de l'utiliser.

import psycopg2

with psycopg2.connect({DB URL}) as conn:
    # Processes you want to do

Lancer une requête

Faites un curseur à lancer. Vous pouvez créer un curseur avec conn.cursor (). Si ce n'est plus nécessaire, close () sera fait, mais wi (abrégé ci-dessous).

Vous pouvez exécuter une requête avec cursor.execute ({query string}). Si vous voulez donner un argument, donnez-le sous forme de tap (ou de liste) au deuxième argument, tel que cursor.execute ('SELECT * FROM OSPF_TABLE WHERE FOO =% s', (fooval,)).

Vous pouvez également donner des arguments sous forme de dictionnaire (type Dictionary). Dans ce cas, donnez une clé à l'espace réservé tel que % (key) s.

cur.execute("""
     INSERT INTO some_table (an_int, a_date, another_date, a_string)
     VALUES (%(int)s, %(date)s, %(date)s, %(str)s);
     """,
     {'int': 10, 'str': "O'Reilly", 'date': datetime.date(2005, 11, 18)})
import psycopg2

with psycopg2.connect({DB URL}) as conn:
    with conn.cursor() as cur:
        cur.execute({query})

Recevoir les résultats de la requête

Recevez le résultat de SELECT en tant qu'objet Python. Vous pouvez le recevoir avec cursor.fetchone (), cursor.fetchall (), cursor.fetchmany (size).

cursor.fetchone()

Recevez un seul de la ligne suivante du résultat (ensemble de résultats de la requête). Le résultat sera renvoyé sous forme de taple. Si vous l'exécutez pendant que curseur pointe vers la fin, il renverra Aucun.

cursor.fetchall()

Recevez tous les résultats de la ligne suivante du résultat (ensemble de résultats de la requête). Le résultat sera renvoyé sous forme de liste de tapples. Si vous l'exécutez lorsque curseur pointe vers la fin, une liste vide est renvoyée.

cursor.fetchmany(size)

Reçoit la taille de la ligne suivante du résultat (ensemble de résultats de la requête). Le résultat sera renvoyé sous forme de liste de tapples. Si vous l'exécutez lorsque curseur pointe vers la fin, une liste vide est renvoyée.

commettre

Les transactions sont activées par défaut, donc vos modifications ne prendront effet qu'après validation. Commençons avec connect.commit (). La définition de connect.autocommit = True désactive la transaction.

Retour en arriere

C'est connect.rollback (). Si vous créez une connexion avec la syntaxe with, elle semble être automatiquement annulée si une exception se produit à l'intérieur du bloc with. C'est pratique [^ 1].

[^ 1]: Il semble que cela satisfasse PEP249

Recommended Posts

mémo psycopg2
mémo gzip
Mémo Pandas
Mémo HackerRank
Mémo Python
mémo python
mémo graphène
Mémo du flacon
mémo pyenv
mémo pytest
mémo sed
Installer Memo
Mémo BeautifulSoup4
mémo networkx
mémo python
mémo Tomcat
mémo de commande
Mémo du générateur.
Mémo Python
Mémo SSH
Mémo: rtl8812
mémo pandas
Mémo Shell
Mémo Python
Mémo Pycharm
Mémo de dévotion AtCoder (11/12)
[Python] Mémo sur le dictionnaire
Mémo push PyPI
mémo d'introduction tensorflow-gpu
Note d'étude LPIC201
Mémo Jupyter Notebook
Mémo de virtualisation LPIC304
mémo débutant python (9.2-10)
youtube télécharger un mémo
Inu x Memo
Mémo d'apprentissage Django
ARC # 016 Mémo de participation
Belle note de soupe
Note d'étude LPIC101
mémo Linux (ubuntu)
mémo de commande scp
Mémo Primer Flask
mémo céleri / kombu
qui commande mémo
mémo du didacticiel django
Mémo de base Flask
Mémo de commande Linux # 1
★ Mémo ★ Python Iroha
Mémo de reconnaissance du genre
Mémo de lecture d'image
[MEMO] [TERMINAL] Alacritty
Mémo de rotation 3D (1)
[Python] Mémo EDA
Mémo opérateur Python 3
Mémo d'introduction H2O.ai
mémo d'expression lambda
[Mémo] [terminal] xfce-terminal
Mémo Jupyter Notebook