Omówienie programowania w bazie danych Python

Język programu Python oferuje rozbudowane interfejsy API do programowania baz danych. Niektóre z kluczowych baz danych obsługiwanych przez Python podano poniżej. W tym temacie dowiemy się o połączeniu z bazą danych Python.

1. Oracle

2. MySQL

3. PostgreSQL

4. Teradata itp

Baza danych to zbiór wcześniej ustalonych informacji, które można bez wysiłku wykorzystywać, zarządzać i poprawiać. Kluczowe cechy DB API to:

  • Utwórz połączenie z bazą danych
  • Praca nad instrukcjami SQL i procedurami przechowywanymi
  • Połączenie można zamknąć

Korzyści z Python do programowania baz danych

  • W porównaniu do innych języków programowanie w języku Python jest szybsze i łatwiejsze.
  • W Pythonie obowiązkowe operacje, takie jak otwieranie i zamykanie połączeń z bazą danych, są wykonywane przez sam python. W przypadku wszystkich innych języków programowania tego typu operacje są wykonywane przez programistę.
  • Interfejs API bazy danych Python obsługuje szeroki zakres ustawień bazy danych, dzięki czemu znacznie łatwiej jest połączyć się z bazami danych.

Interfejsy API języka Python DB

Bazy danychInterfejsy API języka Python DB
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL i pyPgSQL
Wyroczniadc_oracle2 i cx_oracle
DB2Pydb2

Kluczowe kroki w łączności z bazą danych

Z perspektywy Pythona istnieją cztery główne kroki w procesie łączenia się z bazą danych za pomocą Pythona. są jak poniżej

1. Tworzenie obiektu połączenia

4. zakończenie utworzonego połączenia

2. Aby uwzględnić proces odczytu i zapisu, zadeklaruj kursor

3. Interakcje z bazą danych

Obiekty połączeń
NazwaOpis
.blisko()Zamyka ustanowioną łączność z bazą danych
.popełnić()Zatwierdź oczekujące transakcje z bazą danych
.rollback ()Niniejsza zgoda na transakcję zostanie wycofana do początku oczekującej transakcji
.kursor()Obiekt reprezentujący kursor jest tworzony

Obiekty kursora Python

1) .execute ()

Wykonywana jest instrukcja Sequel wymieniona w tej funkcji.

Składnia

execute(sql, (parameters))

Przykład

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

2) .executemany ()

Dla wszystkich wymienionych parametrów w sekwencji wykonywana jest podana instrukcja SQL

Składnia

executemany(sql, (parameters))

Przykład

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

Pobierz jeden wiersz wyniku zapytania.

Przykład

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

Pobierz określony zestaw wierszy wyniku zapytania. parametr określa liczbę wierszy na połączenie. Liczba pobieranych wierszy zależy w dużej mierze od wielkości tablicy elementu kursora. Tak więc, ponieważ liczba wierszy wskazana w danym parametrze musi zostać pobrana ta sama liczba wierszy. Jeśli nie jest to możliwe z powodu określonych dostępnych wierszy, może zostać zwróconych mniej wierszy.

Przykład

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

Pobierz wszystkie wiersze zapytania. wiersze te są zwracane w sekwencji. tutaj na wydajność pobierania może czasami wpływać pobieranie tablicy kursora. Gdy rozmiar tablicy kursorów jest wyjątkowo duży, czas potrzebny na wyciągnięcie wierszy będzie również stosunkowo bardzo wysoki.

Przykład

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 (wartość (, tryb = „względny”))

Przewija kursor zgodnie z wymienioną wartością trybu. jeśli tryb jest względny, wówczas wspomniana wartość jest uważana za przesunięcie, w przypadku gdy tryb jest bezwzględny, wówczas wspomniana wartość jest pozycją docelową.

  1. Cursor.next (): Następny wiersz jest zwracany z aktualnie wykonywanej pozycji instrukcji sequel.
  2. Cursor. – iter– (): Ustawia kursor odpowiedni dla protokołu iteracji.
  3. Cursor.lastrowid (): zwracany jest tutaj identyfikator wiersza ostatnio zmodyfikowanego wiersza.

Operacje na bazie danych Python

Najważniejsze operacje na wstawianiu, usuwaniu, aktualizowaniu i wybieraniu bazy danych. wszystkie te operacje CRUD mogą być również sugerowane przez Python. W Pythonie obowiązkowe operacje, takie jak otwieranie i zamykanie połączeń z bazą danych, są wykonywane przez sam python. W przypadku wszystkich innych języków programowania tego typu operacje są wykonywane przez programistę. Poniższy przykład przedstawia zastosowanie tych operacji.

Przykład

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 wyjątków Python Db

  • Standardowy błąd
  • Ostrzeżenie
  • Błąd
  • Błąd interfejsu
  • Błąd bazy danych
  • Błąd danych
  • Błąd operacyjny
  • IntegrityError
  • Błąd wewnętrzny
  • ProgrammingError
  • NotSupportedError

Konstruktorzy zorientowani na Python DB

  • Data (rok, miesiąc, dzień): buduje obiekt z wartością daty
  • Czas (godzina, minuta, sekunda): Buduje obiekt z wartością czasu
  • Znacznik czasu (rok, miesiąc, dzień, godzina, minuta, sekunda): Tworzy obiekt z wartością znacznika czasu
  • Binarny (ciąg znaków): Konstruowany jest obiekt pytona zdolny do przechowywania wartości binarnych
  • Typ STRING: opisuje wszystkie kolumny typu string w bazie danych
  • Typ NUMBER: opisuje wszystkie kolumny, które są typu liczbowego
  • Typ DATETIME: wspomina o wszystkich kolumnach typu data i godzina obecnych w bazie danych
  • Typ ROWID: osiąga kolumnę identyfikatora wiersza w bazie danych

Wniosek - połączenie z bazą danych Python

Python zdecydowanie wyróżnia się jako jeden z najbardziej elastycznych interfejsów programistycznych do programowania zorientowanego na bazę danych. zwłaszcza sklasyfikowany zestaw Python DB-API sprawia, że ​​komunikacja z DB jest wydajnym procesem niezależnie od bazy danych.

Polecane artykuły

Jest to przewodnik po połączeniu z bazą danych Python. Tutaj omawiamy kluczowe kroki w łączności z bazami danych i zalety programowania w języku Python. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Silnia w Pythonie
  2. Operacje na plikach Python
  3. Dla pętli w Pythonie
  4. Hermetyzacja w Pythonie
  5. Zestawy Python
  6. Funkcje Pythona
  7. Program czynnikowy w JavaScript
  8. Hermetyzacja w JavaScript