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 danych | Interfejsy API języka Python DB |
MYSQL | MySQLdb |
PostgreSQL | psycopg, PyGresQL i pyPgSQL |
Wyrocznia | dc_oracle2 i cx_oracle |
DB2 | Pydb2 |
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ń | |
Nazwa | Opis |
.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ą.
- Cursor.next (): Następny wiersz jest zwracany z aktualnie wykonywanej pozycji instrukcji sequel.
- Cursor. – iter– (): Ustawia kursor odpowiedni dla protokołu iteracji.
- 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 -
- Silnia w Pythonie
- Operacje na plikach Python
- Dla pętli w Pythonie
- Hermetyzacja w Pythonie
- Zestawy Python
- Funkcje Pythona
- Program czynnikowy w JavaScript
- Hermetyzacja w JavaScript