Prezentare generală a programării bazelor de date Python

Limbajul programului python oferă API-uri extinse pentru programarea bazelor de date. Unele dintre bazele de date cheie suportate de python sunt prezentate mai jos. În acest subiect, vom afla despre Conexiunea de baze de date Python.

1. Oracol

2. MySQL

3. PostgreSQL

4. Teradata etc

Baza de date este o colecție de informații preorganizate care pot fi utilizate, gestionate, revizuite fără efort. Principalele caracteristici ale unei API DB sunt,

  • Creați o conexiune la baza de date
  • Lucrați la instrucțiunile SQL și la procedurile stocate
  • Conexiunea poate fi închisă

Beneficiile Python pentru programarea bazelor de date

  • Comparativ cu alte limbi, programarea piton este mai rapidă și ușoară.
  • În python operațiunile obligatorii, cum ar fi deschiderea și închiderea conexiunilor bazei de date sunt efectuate de python în sine. Pentru toate celelalte limbaje de programare, aceste tipuri de operații sunt realizate în mod specific de dezvoltator.
  • API-ul bazei de date python acceptă o gamă largă de setări de baze de date, astfel încât face ca sarcina de a conecta la baze de date un proces mult mai ușor.

API-ul Python DB

Baze de dateAPI-ul Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL și pyPgSQL
Oracoldc_oracle2 și cx_oracle
DB2Pydb2

Pași cheie în conectivitatea bazelor de date

Din perspectiva python, există patru etape majore în procesul de conectare a bazei de date folosind python. sunt ca mai jos,

1. Crearea obiectului de conexiune

4. încheierea conexiunii create

2. Pentru a se acomoda cu procesul de citire și scriere, declarați un cursor

3. Interacțiuni de bază de date

Obiecte de conectare
NumeDescriere
.închide()Închide conectivitatea stabilită cu baza de date
.commit ()Angajați tranzacțiile în așteptare cu baza de date
.rollback ()Acest acord de tranzacție va reveni la începutul unei tranzacții în așteptare
.cursor()Un obiect care reprezintă cursorul este creat

Obiecte cursor Python

1) .executa ()

Instrucțiunea Sequel menționată în cadrul acestei funcții este executată.

Sintaxă

execute(sql, (parameters))

Exemplu

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

2) .executemany ()

Pentru toți parametrii enumerați în secvență, instrucțiunea SQL dată este executată

Sintaxă

executemany(sql, (parameters))

Exemplu

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

Obțineți un rând dintr-o ieșire de interogare.

Exemplu

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

Obțineți un set specific de rânduri ale unui rezultat de interogare. parametrul specifică numărul de rânduri pe apel. Numărul de rânduri aduse depinde în mare măsură de dimensiunea tabloului implicat al elementului de cursor. Deci, numărul de rânduri indicat în parametrul dat același număr de rânduri trebuie încercat să fie obținut. Dacă acest lucru nu este capabil din cauza rândurilor specifice disponibile, atunci se pot returna mai puține rânduri.

Exemplu

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

Căutați toate rândurile unei interogări. aceste rânduri sunt returnate într-o secvență. aici performanța fetch-ului ar putea fi afectată uneori de către fisura cursorului. Când dimensiunea tabloului de cursor este extrem de mare, atunci timpul necesar pentru a trage rândurile va fi, de asemenea, comparativ foarte mare.

Exemplu

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 (valoare (, mode = 'relativ'))

Parcurge cursorul în funcție de valoarea modului menționată. dacă modul este relativ, atunci valoarea menționată este considerată ca o compensare, în cazul în care modul este absolut atunci valoarea menționată este poziția țintă.

  1. Cursor.next (): Rândul următor este returnat din poziția instrucțiunii sequel care execută momentan.
  2. Cursor. – iter– (): Teatizează cursorul potrivit pentru protocolul de iterație.
  3. Cursor.lastrowid (): ID-ul rândului din ultimul rând modificat este returnat aici.

Python Database Operations

Operațiunile cheie ale oricărei baze de date se inserează, șterge, actualizează și selectează. toate aceste operațiuni CRUD pot fi implicate și prin python. În python operațiunile obligatorii, cum ar fi deschiderea și închiderea conexiunilor bazei de date sunt efectuate de python în sine. Pentru toate celelalte limbaje de programare, aceste tipuri de operații sunt realizate în mod specific de dezvoltator. Exemplul de mai jos prezintă aplicarea acestor operațiuni.

Exemplu

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

Ierarhie de excepție Python Db

  • Eroare standard
  • Avertizare
  • Eroare
  • InterfaceError
  • Eroare bază de date
  • Eroare de date
  • OperationalError
  • IntegrityError
  • Eroare internă
  • ProgrammingError
  • NotSupportedError

Constructori orientați Python DB

  • Data (anul, luna, ziua): creează un obiect cu o valoare a datei în el
  • Ora (oră, minut, secundă): Construiește un obiect cu o valoare de timp în el
  • Timestamp (an, lună, zi, oră, minut, secundă): Construiește un obiect cu valoare de timp în el
  • Binary (string): Se construiește un obiect python capabil să dețină valori binare
  • TIP STRING: descrie toate coloanele care sunt tipul șirului în baza de date
  • TIP NUMĂR: Descrie toate coloanele care sunt de tipul numărului
  • Tipul DATETIME: menționează toate coloanele de tip dată și oră prezente în baza de date
  • Tipul ROWID: ajunge în coloana cu ID-ul rândului în baza de date

Concluzie - conexiune bază de date Python

Python se remarcă cu siguranță ca fiind una dintre cele mai flexibile interfețe de programare pentru programarea bazată pe baze de date. în special setul clasificat de API-uri piton DB face ca sarcina de a comunica cu DB-ul să fie un proces eficient, indiferent de baza de date.

Articole recomandate

Acesta este un ghid pentru conexiunea bazei de date Python. Aici vom discuta pașii cheie în conectivitatea bazelor de date și avantajele Python pentru programarea bazelor de date. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Factorial în Python
  2. Python File Operations
  3. Pentru Loop în Python
  4. Încapsulare în Python
  5. Seturi Python
  6. Caracteristici Python
  7. Programul factorial în JavaScript
  8. Încapsulare în JavaScript