Pregled programiranja podatkovnih baz Python

Programski jezik python ponuja obsežne API-je za programiranje baz podatkov. Spodaj je podanih nekaj ključnih baz podatkov, ki jih podpira python. V tej temi bomo spoznali povezavo z bazo podatkov Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata itd

Baza podatkov je zbirka vnaprej razporejenih informacij, ki jih je mogoče brez težav uporabljati, upravljati in revidirati. Ključne značilnosti API-ja DB so:

  • Ustvari povezavo z bazo podatkov
  • Delajte na stavkih SQL in shranjenih postopkih
  • Povezava se lahko zapre

Prednosti programa Python za programiranje podatkovnih baz

  • V primerjavi z drugimi jeziki je programiranje pythona hitrejše in enostavno.
  • V pythonu obvezne operacije, kot so odpiranje in zapiranje povezav baze podatkov, izvaja sam python. Za vse druge programske jezike te vrste operacij izvaja posebej razvijalec.
  • API baze podatkov python podpira širok obseg nastavitev baz podatkov, zato je naloga povezovanja z bazami veliko lažji postopek.

API-ji Python DB

Baze podatkovAPI-ji Python DB API
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL in pyPgSQL
Oracledc_oracle2 in cx_oracle
DB2Pydb2

Ključni koraki v povezavi z bazo podatkov

Z vidika pythona so v procesu povezave z bazo podatkov s pomočjo pythona štirje glavni koraki. so spodaj,

1. Ustvarjanje povezanega predmeta

4. prekinitev ustvarjene povezave

2. Za prilagoditev postopka branja in pisanja prijavite kazalec

3. Interakcije z bazo podatkov

Predmeti povezave
ImeOpis
.close ()Zapre vzpostavljeno povezljivost z bazo podatkov
.kommit ()Zavezati nerešene transakcije z bazo podatkov
.rollback ()To transakcijsko soglasje za vrnitev na začetek nerešene transakcije
.cursor ()Ustvarjen je objekt, ki predstavlja kazalec

Predmeti kazalca Python

1). Izvršiti ()

Stavek Sequel, omenjen v tej funkciji, je izveden.

Sintaksa

execute(sql, (parameters))

Primer

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

2) .izvedba ()

Za vse naštete parametre v zaporedju se izvede podani stavek SQL

Sintaksa

executemany(sql, (parameters))

Primer

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

Pridobite eno vrstico izida poizvedbe.

Primer

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

Pridobite določen niz vrstic rezultata poizvedbe. parameter določa število vrstic na klic. Število vršenih vrstic je v veliki meri odvisno od velikosti vključenega niza elementa kurzorja. Torej je treba poskusiti pridobiti število vrstic v parametru z enakim številom vrstic. Če to ni mogoče zaradi specifičnih razpoložljivih vrstic, se lahko vrne manj vrstic.

Primer

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

Pridobite vse vrstice poizvedbe. te vrstice se vrnejo v zaporedju. tu lahko na čas doseže doseg kazalca matrike vpliv uspešnosti. Če je velikost matrike kazalec izjemno velika, bo tudi čas, potreben za vlečenje vrstic, sorazmerno zelo velik.

Primer

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 (vrednost (, način = 'relativno'))

Pomika se po kurzorju glede na navedeno vrednost načina. če je način relativni, se omenjena vrednost šteje za odmik, če je način absolutni, je omenjena vrednost ciljni položaj.

  1. Cursor.next (): Naslednja vrstica se vrne s trenutno izvršenega položaja nadaljevanja stavka.
  2. Cursor. – iter– (): Pokaže kurzor, primeren za iteracijski protokol.
  3. Cursor.lastrowid (): tukaj se vrne ID vrstice nazadnje spremenjene vrstice.

Operacije baze podatkov Python

Ključne operacije katere koli baze podatkov vstavijo, izbrišejo, posodobijo in izberejo. vse te CRUD operacije je mogoče tudi preko pythona. V pythonu obvezne operacije, kot so odpiranje in zapiranje povezav baze podatkov, izvaja sam python. Za vse druge programske jezike te vrste operacij izvaja posebej razvijalec. Spodnji primer prikazuje uporabo teh operacij.

Primer

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

Hierarhija izjem med Python Db

  • StandardError
  • Opozorilo
  • Napaka
  • InterfaceError
  • DatabaseError
  • DataError
  • OperationalError
  • IntegrityError
  • Notranja napaka
  • ProgrammingError
  • NotSupportedError

Konstruktorji, usmerjeni v DB

  • Datum (leto, mesec, dan): ustvari predmet z vrednostjo datuma v njem
  • Čas (ura, minuta, sekunda): Zgradi predmet s časovno vrednostjo
  • Časovna žiga (leto, mesec, dan, ura, minuta, sekunda): ustvari predmet z vrednostjo časovne žige v njem
  • Binarni (niz): Sestavljen je objekt python, ki lahko vsebuje binarne vrednosti
  • Vrsta STRING: opiše vse stolpce, ki so v nizu v bazi
  • Vrsta ŠTEVILKA: Opiše vse stolpce številčne vrste
  • Vrsta DATETIME: omenja vse stolpce z datumom in časom, ki so prisotni v bazi
  • Vrsta ROWID: doseže stolpec id vrstice v bazi podatkov

Zaključek - Povezava z bazo Python

Python zagotovo izstopa kot eden najbolj prilagodljivih programskih vmesnikov za programiranje, ki je usmerjeno v baze podatkov. zlasti razvrščeni niz Python DB-API-jev je naloga komuniciranja z DB-jem učinkovit postopek, ne glede na katero koli bazo podatkov.

Priporočeni članki

To je vodnik za povezavo z bazo podatkov Python. Tukaj razpravljamo o ključnih korakih pri povezovanju podatkovnih baz in prednosti Pythona za programiranje podatkovnih baz. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Factorial v Pythonu
  2. Operacije datotek Python
  3. Za zanko v Pythonu
  4. Inkapsulacija v Pythonu
  5. Python Set
  6. Značilnosti Pythona
  7. Faktorski program v JavaScript
  8. Kapsulacija v JavaScript