Pregled programiranja Python baze podataka

Programski jezik python nudi opsežne API-je za programiranje baze podataka. Neke od ključnih baza podataka koje podržava python date su u nastavku. U ovoj ćemo temi saznati više o Python Connection Data Connection.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradati itd

Baza podataka predstavlja skup unaprijed raspoređenih informacija koje se mogu bez napora koristiti, upravljati i revidirati. Ključne značajke DB API-ja su:

  • Stvorite vezu s bazom podataka
  • Rad na SQL izjavama i pohranjenim procedurama
  • Veza se može zatvoriti

Prednosti Pythona za programiranje baza podataka

  • U usporedbi s drugim jezicima programiranje pytona je brže i lakše.
  • U python-u obvezne operacije poput otvaranja i zatvaranja veza s bazom podataka provodi sam python. Za sve ostale programske jezike programer provodi posebno ove vrste operacija.
  • API baze podataka python podržava širok opseg postavki baze podataka tako da zadatak povezivanja s bazama podataka čini znatno lakšim procesom.

API-ji Python DB-a

baze podatakaAPI-ji Python DB API-ja
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL i pyPgSQL
Proročanstvodc_oracle2 i cx_oracle
DB2Pydb2

Ključni koraci u povezivanju baza podataka

Iz perspektive pytona, četiri su koraka u procesu povezivanja baze podataka pomoću pythona. oni su kao ispod,

1. Izrada objekta veze

4. prekid stvorene veze

2. Za smještaj postupka čitanja i pisanja izjavite kursor

3. Interakcije baze podataka

Objekti povezivanja
ImeOpis
.Zatvoriti()Zatvara uspostavljenu povezanost s bazom podataka
.počiniti()Obaviti prijelazne transakcije s bazom podataka
.rollback ()Ova transakcijska suglasnost za povratak na početak neizvršene transakcije
.cursor ()Stvara se objekt koji predstavlja pokazivač

Objekti kursora Python-a

1). Izvršiti ()

Izjava Sequel spomenuta u ovoj funkciji se izvršava.

Sintaksa

execute(sql, (parameters))

Primjer

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

2) .executemany ()

Za sve navedene parametre u nizu izvršava se dati SQL izraz

Sintaksa

executemany(sql, (parameters))

Primjer

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

Dohvati jedan red rezultata upita.

Primjer

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

Dohvati određeni skup redaka rezultata upita. parametar određuje broj redaka po pozivu. Broj preuzetih redaka uvelike ovisi o veličini uključenog polja elementa pokazivača. Kao što mora biti i broj redaka naveden u parametru s istim brojem redaka. Ako to nije moguće zbog dostupnih specifičnih redaka, može se vratiti manje redaka.

Primjer

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

Dohvati sve redove upita. ti se redovi vraćaju u slijedu. ovdje bi se performanse dohvata mogle ponekad utjecati na dohvat matrice pokazivača. Kada je veličina polja pokazivača izuzetno velika, tada će i vrijeme potrebno za izvlačenje reda biti razmjerno vrlo veliko.

Primjer

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

Pomiče se po pokazivaču prema spomenutoj vrijednosti načina. ako je mod relativan, tada se spomenuta vrijednost smatra offsetom, a ako je način apsolutni, spomenuta vrijednost je ciljna pozicija.

  1. Cursor.next (): Sljedeći se redak vraća s trenutno izvršenog položaja izjave nastavka.
  2. Kursor – iter– (): Prikazuje kursor prikladan za iteracijski protokol.
  3. Cursor.lastrowid (): ovdje se vraća ID retka posljednje izmjene.

Operacije baze podataka Python-a

Ključne operacije bilo koje baze podataka unose, brišu, ažuriraju i odabiru. sve ove CRUD operacije mogu se podrazumijevati i preko pythona. U python-u obvezne operacije poput otvaranja i zatvaranja veza s bazom podataka provodi sam python. Za sve ostale programske jezike programer provodi posebno ove vrste operacija. Primjer u nastavku prikazuje primjenu ovih operacija.

Primjer

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

Python Db hijerarhija izuzetaka

  • Standardna pogreška
  • Upozorenje
  • greška
  • InterfaceError
  • DatabaseError
  • DataError
  • OperationalError
  • IntegrityError
  • InternalError
  • ProgrammingError
  • NotSupportedError

Konstruktori usmjereni na Python DB

  • Datum (godina, mjesec, dan): izrađuje objekt s vrijednošću datuma u njemu
  • Vrijeme (sat, minuta, sekunda): gradi objekt s vremenskom vrijednošću u njemu
  • Vremenska oznaka (godina, mjesec, dan, sat, minuta, sekunda): gradi objekt s vrijednošću vremenske oznake u sebi
  • Binarni (string): Izgrađen je objekt pytona koji može sadržavati binarne vrijednosti
  • Vrsta STRING: opisuje sve stupce koji su stringovi u bazi podataka
  • Tip BROJ: Opisuje sve stupce koji imaju broj
  • Vrsta DATETIME: spominje sve stupce datuma i vremena koji su prisutni u bazi podataka
  • Vrsta ROWID: doseže stupac s ID-om retka u bazi podataka

Zaključak - Povezivanje baze podataka Python

Python se definitivno ističe kao jedno od najfleksibilnijih programskih sučelja za programiranje orijentirano na baze podataka. posebno klasificirani skup python DB-API-ova čine zadatak komuniciranja s DB-ovim učinkovitim postupkom bez obzira na bilo koju bazu podataka.

Preporučeni članci

Ovo je vodič za Python vezu baze podataka. Ovdje smo raspravljali o ključnim koracima povezivanja baza podataka i prednostima Pythona za programiranje baza podataka. Možete također pogledati sljedeće članke da biste saznali više -

  1. Čimbenik u Pythonu
  2. Operacije datoteka Python-a
  3. Za petlju u Pythonu
  4. Inkapsulacija u Pythonu
  5. Python setovi
  6. Značajke Pythona
  7. Faktorski program u JavaScript-u
  8. Inkapsulacija u JavaScriptu

Kategorija: