Présentation de la programmation de la base de données Python

Le langage de programme python offre de nombreuses API pour la programmation de bases de données. Certaines des bases de données clés prises en charge par python sont données ci-dessous. Dans cette rubrique, nous allons en savoir plus sur la connexion à la base de données Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata etc.

La base de données est une collection d'informations pré-arrangées qui peuvent être utilisées, gérées, révisées sans effort. Les principales caractéristiques d'une API DB sont les suivantes:

  • Créer une connexion à une base de données
  • Travail sur les instructions SQL et les procédures stockées
  • La connexion peut être fermée

Avantages de Python pour la programmation de bases de données

  • Comparé à d'autres langages, la programmation python est plus rapide et facile.
  • En python, les opérations obligatoires comme l'ouverture et la fermeture des connexions à la base de données sont effectuées par python lui-même. Pour tous les autres langages de programmation, ces types d'opérations sont effectués spécifiquement par le développeur.
  • Les API de base de données python prennent en charge une grande partie des configurations de base de données, ce qui rend la tâche de connexion aux bases de données beaucoup plus facile.

API Python DB

Bases de donnéesAPI Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL et pyPgSQL
Oracledc_oracle2 et cx_oracle
DB2Pydb2

Étapes clés de la connectivité à la base de données

Du point de vue python, il existe quatre étapes principales dans le processus de connexion à une base de données à l'aide de python. ils sont comme ci-dessous,

1. Création de l'objet de connexion

4. fin de la connexion créée

2. Pour s'adapter au processus de lecture et d'écriture, déclarez un curseur

3. Interactions avec la base de données

Objets de connexion
NomLa description
.proche()Ferme la connectivité établie avec la base de données
.commettre()Valider les transactions en attente avec la base de données
.retour en arriere()Ce consentement à la transaction sera rétabli au début d'une transaction en attente
.le curseur()Un objet représentant le curseur est créé

Objets curseur Python

1) .execute ()

L'instruction Sequel mentionnée dans cette fonction est exécutée.

Syntaxe

execute(sql, (parameters))

Exemple

import sqlite3con = sqlite3.connect("UserDB")cur = con.cursor()cur.execute(" select * from emp ")print cur.fetchone()

2) .executemany ()

Pour tous les paramètres répertoriés dans la séquence, l'instruction SQL donnée est exécutée

Syntaxe

executemany(sql, (parameters))

Exemple

import sqlite3
def aplphabet_generator():
import string
for D in string.letters(:26):
yield (D, )
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute(" create table characters(
Aplphabet_Column ) ")
cur.executemany("insert into characters(
Aplhabet_Column ) values (?)", char_generator())
cur.execute(" select Aplhabet_Column from characters ")
print cur.fetchall()

3) .fetchone ()

Récupère une ligne d'une sortie de requête.

Exemple

import MySQLdb as my
try:
db = my.connect(host="129.0.0.1",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept#1 where id < 10"
number_of_rows = cursor.execute(sql)
while True:
row = cursor.fetchone()
if row == None:
break
print(row)
db.close()

4) .fetchmany ()

Récupère un ensemble spécifique de lignes d'un résultat de requête. le paramètre spécifie le nombre de lignes par appel. Le nombre de lignes récupérées dépend en grande partie de la taille du tableau impliqué de l'élément curseur. Donc, comme le nombre de lignes indiqué dans le paramètre donné, le même nombre de lignes doit être tenté d'être récupéré. Si cela n'est pas possible en raison des lignes spécifiques disponibles, moins de lignes peuvent être renvoyées.

Exemple

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchmany(2)) # 2 row fetched
db.close()

5) .fetchall ()

Récupère toutes les lignes d'une requête. ces lignes sont renvoyées dans une séquence. ici, les performances de l'extraction peuvent parfois être affectées par l'extraction du tableau de curseurs. Lorsque la taille du tableau de curseurs est extrêmement grande, le temps nécessaire pour extraire les lignes sera également relativement élevé.

Exemple

import MySQLdb as my
try:
db = my.connect(host="128.0.0.10",
user="admin",
passwd="admin",
db="emp"
)
cursor = db.cursor()
sql = "select * from dept_#1 where id < 10"
number_of_rows = cursor.execute(sql)
print(cursor.fetchall())
db.close()

6) Cursor.scroll (valeur (, mode = 'relative')))

Fait défiler le curseur en fonction de la valeur de mode mentionnée. si le mode est relatif, la valeur mentionnée est considérée comme un décalage, dans le cas où le mode est absolu, la valeur mentionnée est la position cible.

  1. Cursor.next (): la ligne suivante est renvoyée depuis la position de l'instruction de suite en cours d'exécution.
  2. Cursor. – iter– (): supprime le curseur adapté au protocole d'itération.
  3. Cursor.lastrowid (): l'identifiant de ligne de la dernière ligne modifiée est renvoyé ici.

Opérations de base de données Python

Les opérations clés de toute base de données: insérer, supprimer, mettre à jour et sélectionner. toutes ces opérations CRUD peuvent également être impliquées via python. En python, les opérations obligatoires comme l'ouverture et la fermeture des connexions à la base de données sont effectuées par python lui-même. Pour tous les autres langages de programmation, ces types d'opérations sont effectués spécifiquement par le développeur. L'exemple ci-dessous illustre l'application de ces opérations.

Exemple

import sqlite3
db=sqlite3.connect('test.db')
qry1="insert into student (name, age, marks) values(?, ?, ?);"
qry2="update student set age=? where name=?;"
qry3="SELECT * from student;"
qry4="DELETE from student where name=?;"
students=(('Amarh', 17, 20), ('Deepika', 45, 87)) try:
cur=db.cursor()
cur.executemany(qry1, students)
cur.execute(qry2, (19, 'Deepak'))
db.commit()
cur.execute(qry3)
print(" record updated!! ")
cur.execute(qry4, ('Bill', ))
db.commit()
print(" record deleted!! ")
except:
print(" error found")
db.rollback()
db.close()

Hiérarchie des exceptions Python Db

  • Erreur standard
  • avertissement
  • Erreur
  • InterfaceError
  • Erreur de la base de données
  • Erreur de donnée
  • OperationalError
  • IntegrityError
  • Erreur interne
  • ProgrammingError
  • NotSupportedError

Constructeurs orientés Python DB

  • Date (année, mois, jour): crée un objet contenant une valeur de date
  • Heure (heure, minute, seconde): crée un objet avec une valeur de temps
  • Horodatage (année, mois, jour, heure, minute, seconde): crée un objet avec une valeur d'horodatage
  • Binaire (chaîne): un objet python capable de contenir des valeurs binaires est construit
  • Type STRING: décrit toutes les colonnes de type chaîne dans la base de données
  • Type NUMBER: décrit toutes les colonnes de type numérique
  • Type DATETIME: mentionne toutes les colonnes de type date et heure présentes dans la base de données
  • Type ROWID: atteint la colonne d'ID de ligne dans la base de données

Conclusion - Connexion à la base de données Python

Python se démarque certainement comme l'une des interfaces de programmation les plus flexibles pour la programmation orientée base de données. en particulier l'ensemble classifié de python DB-API font de la tâche de communiquer avec DB un processus efficace indépendamment de toute base de données.

Articles recommandés

Ceci est un guide pour la connexion à la base de données Python. Nous discutons ici des étapes clés de la connectivité de la base de données et des avantages de Python pour la programmation de la base de données. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Factorial en Python
  2. Opérations sur les fichiers Python
  3. Pour boucle en Python
  4. Encapsulation en Python
  5. Ensembles Python
  6. Fonctionnalités de Python
  7. Programme factoriel en JavaScript
  8. Encapsulation en JavaScript