A Python adatbázis-programozás áttekintése

A python programnyelv kiterjedt API-kat kínál az adatbázis-programozáshoz. A Python által támogatott kulcsfontosságú adatbázisok némelyike ​​az alábbiakban található. Ebben a témában a Python Database Connection-ről tanulunk.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata stb

Az adatbázis előre elrendezett információk gyűjteménye, amelyek könnyedén felhasználhatók, kezelhetők, felülvizsgálhatók. A DB API fő jellemzői a következők:

  • Hozzon létre egy adatbázis-kapcsolatot
  • Dolgozzon az SQL utasításokkal és a tárolt eljárásokkal
  • A kapcsolat lezárható

A Python előnyei az adatbázis-programozáshoz

  • Más nyelvekhez képest a python programozása gyorsabb és egyszerűbb.
  • A python olyan kötelező műveleteiben, mint az adatbázis-kapcsolatok megnyitása és bezárása, maga a python végzi. Az összes többi programozási nyelvnél az ilyen típusú műveleteket kifejezetten a fejlesztő végzi.
  • A python adatbázis API széles körű adatbázis-beállításokat támogat, így sokkal könnyebbé teszi az adatbázisokhoz való kapcsolódást.

Python DB API-k

adatbázisokPython DB API-k
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL és pyPgSQL
Jóslatdc_oracle2 és cx_oracle
DB2Pydb2

Az adatbázis-kapcsolat legfontosabb lépései

Python szempontjából négy fő lépés van az adatbázis-kapcsolat folyamatában a python használatával. az alábbiak szerint vannak,

1. A kapcsolatobjektum létrehozása

4. a létrehozott kapcsolat megszakítása

2. Az olvasási és írási folyamat befogadásához deklaráljon egy kurzort

3. Adatbázis-interakciók

Kapcsolati objektumok
NévLeírás
.Bezárás()Lezárja az összeköttetést az adatbázissal
.elkövetni()Végezzen függőben lévő tranzakciókat az adatbázismal
.rollback ()Ez a tranzakciós hozzájárulás visszatér a függőben lévő tranzakció kezdetéhez
.kurzor()Létrejön egy kurzort ábrázoló objektum

Python kurzorobjektumok

1) .execute ()

Az ebben a funkcióban említett sorozat utasítás végrehajtódik.

Szintaxis

execute(sql, (parameters))

Példa

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

2) .executemany ()

A sorozatban felsorolt ​​összes paraméter esetén az adott SQL utasítás végrehajtásra kerül

Szintaxis

executemany(sql, (parameters))

Példa

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

Lekérés a lekérdezés kimenetének egy sorához.

Példa

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

Hozzon le egy lekérdezés eredmény sorát. a paraméter megadja a hívásokonkénti sorok számát. A lehívott sorok száma nagyban függ a kurzor elem érintett tömb méretétől. Tehát, mivel a paraméterben megadott sorok számát ugyanolyan számú sorral kell megkísérelni letölteni. Ha ez a rendelkezésre álló konkrét sorok miatt nem képes, akkor kevesebb sor kerül visszaadásra.

Példa

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

Töltse le a lekérdezés összes sorát. ezeket a sorokat egy sorozatban adják vissza. itt a lekérés teljesítményét időnként befolyásolhatja a kurzor tömb lekérdezése. Ha a kurzor tömbje rendkívül nagy, akkor a sorok húzásához szükséges idő is viszonylag nagyon magas.

Példa

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) Kurzor.gördítés (érték (, mód = 'relatív'))

Görgeti a kurzort az említett üzemmódértéknek megfelelően. ha az üzemmód relatív, akkor az említett értéket eltolásnak kell tekinteni, ha az üzemmód abszolút, akkor az említett érték a célhely.

  1. Cursor.next (): A következő sor visszatér az aktuálisan végrehajtott folytatási utasítás pozícióból.
  2. Kurzor – iter– (): Az iterációs protokollhoz megfelelő kurzort állítja be .
  3. Cursor.lastrowid (): itt tér vissza a legutóbb módosított sor azonosítója.

Python adatbázis műveletek

Bármely adatbázis beillesztésének, törlésének, frissítésének és kiválasztásának legfontosabb műveletei. ezeket a CRUD műveleteket pythonon keresztül is be lehet vonni. A python olyan kötelező műveleteiben, mint az adatbázis-kapcsolatok megnyitása és bezárása, maga a python végzi. Az összes többi programozási nyelvnél az ilyen típusú műveleteket kifejezetten a fejlesztő végzi. Az alábbi példa ezen műveletek alkalmazását szemlélteti.

Példa

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 kivételrendszer

  • StandardError
  • Figyelem
  • Hiba
  • InterfaceError
  • Adatbázis hiba
  • DataError
  • OperationalError
  • IntegrityError
  • Belső hiba
  • ProgrammingError
  • NotSupportedError

Python DB-orientált konstruktorok

  • Dátum (év, hónap, nap): Objektumot épít egy dátumértékkel
  • Idő (óra, perc, másodperc): Objektumot épít egy időértékkel
  • Időbélyegző (év, hónap, nap, óra, perc, másodperc): Objektumot épít időbélyegző értékkel
  • Bináris (karakterlánc): Egy python objektumot készítünk, amely képes bináris értékeket tárolni
  • STRING típus: Leírja az összes oszlopot, amelyek karakterlánc típusúak az adatbázisban
  • SZÁM típusa: Az összes oszlopot leírja, amely szám típusú
  • DATETIME típus: Megemlíti az adatbázisban található összes dátum- és időtípus-oszlopot
  • ROWID típus: Eléri a sor azonosító oszlopát az adatbázisban

Következtetés - Python adatbázis kapcsolat

A Python határozottan kiemelkedik az adatbázis-orientált programozás egyik legrugalmasabb programozási felületének. Különösen a python DB-API osztályozott halmaza teszi a DB folyamatokkal való kommunikáció hatékony feladatává, bármilyen adatbázistól függetlenül.

Ajánlott cikkek

Ez egy útmutató a Python Database Connection programhoz. Itt tárgyaljuk az adatbázis-kapcsolat legfontosabb lépéseit és a Python előnyeit az adatbázis-programozásban. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Faktérium a Pythonban
  2. Python fájlműveletek
  3. A hurok a Pythonban
  4. Beágyazás a Pythonba
  5. Python készletek
  6. Python szolgáltatások
  7. Faktorialis program a JavaScript-ben
  8. Beágyazás a JavaScript-be

Kategória: