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 podataka | API-ji Python DB API-ja |
MYSQL | MySQLdb |
PostgreSQL | psycopg, PyGresQL i pyPgSQL |
Proročanstvo | dc_oracle2 i cx_oracle |
DB2 | Pydb2 |
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 | |
Ime | Opis |
.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.
- Cursor.next (): Sljedeći se redak vraća s trenutno izvršenog položaja izjave nastavka.
- Kursor – iter– (): Prikazuje kursor prikladan za iteracijski protokol.
- 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 -
- Čimbenik u Pythonu
- Operacije datoteka Python-a
- Za petlju u Pythonu
- Inkapsulacija u Pythonu
- Python setovi
- Značajke Pythona
- Faktorski program u JavaScript-u
- Inkapsulacija u JavaScriptu