Panoramica della programmazione del database Python

Il linguaggio del programma python offre ampie API per la programmazione di database. Di seguito sono riportati alcuni dei database chiave supportati da Python. In questo argomento verranno illustrate le informazioni sulla connessione al database Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata ecc

Il database è una raccolta di informazioni predisposte che possono essere facilmente utilizzate, gestite, riviste. Le caratteristiche principali di un'API DB sono,

  • Creare una connessione al database
  • Lavora su istruzioni SQL e procedure memorizzate
  • La connessione può essere chiusa

Vantaggi di Python per la programmazione di database

  • Rispetto ad altre lingue, la programmazione di Python è più semplice e veloce.
  • In Python le operazioni obbligatorie come l'apertura e la chiusura delle connessioni al database vengono eseguite dallo stesso Python. Per tutti gli altri linguaggi di programmazione, questi tipi di operazioni vengono eseguite specificamente dallo sviluppatore.
  • Le API del database python supportano un'ampia gamma di impostazioni del database, in modo da rendere il processo di connessione ai database un processo molto più semplice.

API di Python DB

Banche datiAPI di Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL e pyPgSQL
Oracolodc_oracle2 e cx_oracle
DB2Pydb2

Passaggi chiave nella connettività del database

Dal punto di vista di Python, ci sono quattro passaggi principali nel processo di connessione al database tramite python. sono come sotto,

1. Creazione dell'oggetto connessione

4. terminazione della connessione creata

2. Per accogliere il processo di lettura e scrittura, dichiarare un cursore

3. Interazioni con il database

Oggetti di connessione
NomeDescrizione
.vicino()Chiude la connettività stabilita con il database
.commettere()Commettere transazioni in sospeso con il database
.rollback ()Il presente consenso alla transazione tornerà all'inizio di una transazione in sospeso
.cursore()Viene creato un oggetto che rappresenta il cursore

Oggetti Purson Cursor

1) .execute ()

Viene eseguita l'istruzione Sequel menzionata all'interno di questa funzione.

Sintassi

execute(sql, (parameters))

Esempio

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

2) .executemany ()

Per tutti i parametri elencati nella sequenza, viene eseguita l'istruzione SQL fornita

Sintassi

executemany(sql, (parameters))

Esempio

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 ()

Recupera una riga di un output della query.

Esempio

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 ()

Recupera un set specifico di righe di un risultato della query. il parametro specifica il numero di righe per chiamata. Il numero di righe da recuperare dipende in gran parte dalla dimensione dell'array interessata dell'elemento cursore. Pertanto, è necessario tentare di recuperare il numero di righe indicato nel parametro dato lo stesso numero di righe. Se ciò non è possibile a causa delle righe specifiche disponibili, è possibile che vengano restituite meno righe.

Esempio

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 ()

Recupera tutte le righe di una query. queste righe vengono restituite in sequenza. qui le prestazioni del recupero potrebbero essere influenzate a volte dal recupero dell'array di cursori. Quando la dimensione della matrice del cursore è estremamente grande, anche la quantità di tempo impiegata per estrarre le righe sarà relativamente elevata.

Esempio

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 (value (, mode = 'relative'))

Scorre il cursore in base al valore della modalità menzionato. se la modalità è relativa, il valore indicato viene considerato come offset, nel caso in cui la modalità sia assoluta, il valore indicato è la posizione target.

  1. Cursor.next (): la riga successiva viene restituita dalla posizione dell'istruzione sequel attualmente in esecuzione.
  2. Cursor. – iter– (): imposta il cursore adatto al protocollo di iterazione.
  3. Cursor.lastrowid (): qui viene restituito l'ID riga dell'ultima riga modificata.

Operazioni su database Python

Le operazioni chiave di qualsiasi database inseriscono, eliminano, aggiornano e selezionano. tutte queste operazioni CRUD possono essere implicite anche tramite Python. In Python le operazioni obbligatorie come l'apertura e la chiusura delle connessioni al database vengono eseguite dallo stesso Python. Per tutti gli altri linguaggi di programmazione, questi tipi di operazioni vengono eseguite specificamente dallo sviluppatore. L'esempio seguente mostra l'applicazione di queste operazioni.

Esempio

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()

Gerarchia delle eccezioni di Python Db

  • Errore standard
  • avvertimento
  • Errore
  • InterfaceError
  • Errore di Database
  • Errore dati
  • OperationalError
  • IntegrityError
  • Errore interno
  • ProgrammingError
  • NotSupportedError

Costruttori orientati Python DB

  • Data (anno, mese, giorno): crea un oggetto con un valore di data al suo interno
  • Time (hour, minute, second): costruisce un oggetto con un valore di tempo al suo interno
  • Data / ora (anno, mese, giorno, ora, minuti, secondi): crea un oggetto con valore di data / ora
  • Binario (stringa): viene creato un oggetto Python in grado di contenere valori binari
  • Tipo STRING: descrive tutte le colonne che sono di tipo stringa nel database
  • Tipo NUMBER: descrive tutte le colonne di tipo numerico
  • Tipo DATETIME: menziona tutte le colonne del tipo di data e ora presenti nel database
  • Tipo ROWID: raggiunge la colonna ID riga nel database

Conclusione - Connessione al database Python

Python si distingue sicuramente per essere una delle interfacce di programmazione più flessibili per la programmazione orientata al database. in particolare l'insieme classificato di API DB python rende il compito di comunicare con DB un processo efficiente indipendentemente da qualsiasi database.

Articoli consigliati

Questa è una guida alla connessione al database Python. Qui discutiamo i passaggi chiave nella connettività del database e i vantaggi di Python per la programmazione del database. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Fattoriale in Python
  2. Operazioni sui file Python
  3. Per Loop in Python
  4. Incapsulamento in Python
  5. Set di Python
  6. Funzionalità di Python
  7. Programma fattoriale in JavaScript
  8. Incapsulamento in JavaScript

Categoria: