Prehľad programovania databázy Python

Programový jazyk python ponúka rozsiahle API pre programovanie databázy. Niektoré kľúčové databázy podporované programom python sú uvedené nižšie. V tejto téme sa dozvieme viac o prepojení databázy Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata atď

Databáza je kolekcia vopred pripravených informácií, ktoré možno bez námahy použiť, spravovať, revidovať. Kľúčové vlastnosti DB API sú:

  • Vytvorte pripojenie k databáze
  • Práce na príkazoch SQL a uložených procedúrach
  • Spojenie je možné uzavrieť

Výhody programu Python pre programovanie databázy

  • V porovnaní s inými jazykmi je programovanie pythonu rýchlejšie a ľahšie.
  • V pythone sú povinné operácie ako otváranie a zatváranie databázových spojení vykonávané samotným pythonom. Pre všetky ostatné programovacie jazyky tieto typy operácií vykonáva špecificky vývojár.
  • Rozhrania API databázy python podporujú širokú škálu nastavení databázy, takže je veľmi jednoduchým procesom pripojenia k databázam.

Python DB API

databázyPython DB API
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL a pyPgSQL
veštecdc_oracle2 a cx_oracle
DB2Pydb2

Kľúčové kroky v pripojení k databáze

Z hľadiska pythonu existujú štyri hlavné kroky v procese pripojenia k databáze pomocou pythonu. sú ako nižšie,

1. Vytvorenie objektu pripojenia

4. ukončenie vytvoreného pripojenia

2. Na prispôsobenie procesu čítania a zápisu deklarujte kurzor

3. Interakcie databázy

Objekty pripojenia
názovpopis
.Zavrieť()Zatvorí nadviazané pripojenie k databáze
.commit ()Potvrďte čakajúce transakcie s databázou
.rollback ()Tento súhlas s transakciou sa vráti späť na začiatok čakajúcej transakcie
Podržte kurzor ()Vytvorí sa objekt predstavujúci kurzor

Objekty kurzora Python

1) .execute ()

Vykoná sa vyhlásenie Sequel uvedené v tejto funkcii.

syntax

execute(sql, (parameters))

príklad

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

2) .executemany ()

Pre všetky uvedené parametre v sekvencii sa vykoná daný príkaz SQL

syntax

executemany(sql, (parameters))

príklad

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

Načítať jeden riadok výstupu dotazu.

príklad

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

Načítať konkrétnu skupinu riadkov výsledku dotazu. parameter určuje počet riadkov na volanie. Počet vyvolaných riadkov do značnej miery závisí od veľkosti poľa príslušného prvku kurzora. Preto sa musí pokus o vyvolanie počtu riadkov uvedených v parametri zadať rovnaký počet riadkov. Ak to nie je možné z dôvodu dostupných konkrétnych riadkov, môže sa vrátiť menej riadkov.

príklad

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

Načítať všetky riadky dotazu. tieto riadky sa vracajú postupne. tu by výkon načítania mohol byť niekedy ovplyvnený načítaním poľa kurzora. Ak je veľkosť poľa kurzora extrémne veľká, potom bude čas potrebný na vytiahnutie riadkov pomerne vysoký.

príklad

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 (hodnota (, mód = 'relatívny'))

Prechádza kurzorom podľa uvedenej hodnoty režimu. ak je režim relatívny, uvedená hodnota sa považuje za ofset, v prípade, že je režim absolútny, potom je uvedená hodnota cieľovou pozíciou.

  1. Cursor.next (): Nasledujúci riadok sa vráti z aktuálne vykonávanej pozície príkazu pokračovania.
  2. Kurzor.-iter– (): Zostavuje kurzor vhodný pre iteračný protokol.
  3. Cursor.lastrowid (): Sem sa vracia ID riadku naposledy zmeneného riadku.

Operácie databázy Python

Kľúčové operácie akejkoľvek databázy vkladajú, odstraňujú, aktualizujú a vyberajú. všetky tieto operácie CRUD je možné zahrnúť aj prostredníctvom pythonu. V pythone sú povinné operácie ako otváranie a zatváranie databázových spojení vykonávané samotným pythonom. Pre všetky ostatné programovacie jazyky tieto typy operácií vykonáva špecificky vývojár. Nižšie uvedený príklad znázorňuje použitie týchto operácií.

príklad

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

Hierarchia výnimiek Python Db

  • Štandardná chyba
  • Výstraha
  • Chyba
  • InterfaceError
  • Chyba databázy
  • DataError
  • OperationalError
  • IntegrityError
  • Vnútorná chyba
  • ProgrammingError
  • NotSupportedError

Konštruktory zamerané na Python DB

  • Dátum (rok, mesiac, deň): Vytvorí objekt s hodnotou dátumu v ňom
  • Čas (hodina, minúta, sekunda): Vytvorí objekt s časovou hodnotou v ňom
  • Časová pečiatka (rok, mesiac, deň, hodina, minúta, druhá): Zostavuje objekt s hodnotou časovej pečiatky
  • Binárny reťazec: Konštruuje sa pythonový objekt schopný uchovávať binárne hodnoty
  • Typ STRING: Opisuje všetky stĺpce, ktoré sú typom reťazca v databáze
  • NUMBER type: Opisuje všetky stĺpce, ktoré sú typu number
  • DATETIME type: Zmieňuje sa o všetkých stĺpcoch typu dátum a čas, ktoré sú v databáze
  • ROWID type: Dosiahne stĺpec id riadku v databáze

Záver - pripojenie k databáze Python

Python sa jednoznačne vyznačuje jedným z najflexibilnejších programovacích rozhraní pre databázovo orientované programovanie. najmä klasifikovaný súbor python DB-API robí z komunikácie s DB efektívny proces bez ohľadu na akúkoľvek databázu.

Odporúčané články

Toto je sprievodca pripojením k databáze Python. Tu diskutujeme o kľúčových krokoch v pripojení k databáze a výhodách Pythonu pre programovanie databázy. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Factorial v Pythone
  2. Operácie so súbormi Python
  3. Pre slučku v Pythone
  4. Zapuzdrenie v Pythone
  5. Sady Pythonu
  6. Funkcie Pythonu
  7. Faktorský program v JavaScripte
  8. Zapuzdrenie do JavaScriptu

Kategórie: