Преглед на програмирането на базата данни на Python

Програмният език на python предлага обширни API за програмиране на база данни. Някои от основните бази данни, поддържани от python, са дадени по-долу. В тази тема ще научим за Python Database Connection.

1. Oracle

2. MySQL

3. PostgreSQL

4. Терада и др

Базата данни е съвкупност от предварително подредена информация, която без усилие може да се използва, управлява, ревизира. Основните характеристики на DB API са:

  • Създайте връзка с база данни
  • Работете по SQL оператори и съхранени процедури
  • Връзката може да бъде затворена

Предимства на Python за програмиране на база данни

  • В сравнение с други езици програмирането на python е по-бързо и лесно.
  • В python задължителните операции като отваряне и затваряне на връзките към базата данни се извършват от самия python. За всички останали езици на програмиране тези видове операции се извършват специално от разработчика.
  • API на базата данни python поддържа широка степен на настройките на базата данни, така че прави задачата за свързване към базите данни много по-лесен процес.

API на Python DB API

Данни на Guide-Bulgaria.comAPI на Python DB API
MYSQLMySQLdb
PostgreSQLpsycopg, PyGresQL и pyPgSQL
оракулdc_oracle2 и cx_oracle
DB2Pydb2

Основни стъпки в свързаността на базата данни

От гледна точка на python, има четири основни стъпки в процеса на свързване на базата данни с помощта на python. те са както по-долу,

1. Създаване на обект за връзка

4. прекратяване на създадената връзка

2. За настаняване на процеса на четене и писане декларирайте курсор

3. Взаимодействие с база данни

Обекти за връзка
имеописание
.близо()Затваря установената свързаност с базата данни
.commit ()Да извърши висящи транзакции с базата данни
.rollback ()Това съгласие за транзакция ще се върне към началото на чакаща транзакция
.cursor ()Създава се обект, представляващ курсора

Обекти на курсора на Python

1) .execute ()

Изразът Sequel, споменат в рамките на тази функция, се изпълнява.

Синтаксис

execute(sql, (parameters))

пример

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

2) .executemany ()

За всички изброени параметри в последователността, даденият SQL оператор се изпълнява

Синтаксис

executemany(sql, (parameters))

пример

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

Вземете един ред от изходния въпрос.

пример

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

Извличане на определен набор от редове в резултат на заявка. параметърът определя броя на редовете на повикване. Броят на извлечените редове до голяма степен зависи от размера на включения масив на елемента на курсора. Тъй като броят редове, посочен в параметъра, даден на същия брой редове, трябва да се опита да бъде извлечен. Ако това не е възможно поради специфичните налични редове, може да се върнат по-малко редове.

пример

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

Извадете всички редове на заявка. тези редове се връщат последователно. тук производителността на извличането може да се повлияе на моменти от извличането на масива на курсора. Когато размерът на курсора е изключително голям, времето за отнемане на редовете също ще бъде сравнително голямо.

пример

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 (стойност (, режим = 'относително'))

Превърта през курсора според споменатата стойност на режима. ако режимът е относителен, посочената стойност се счита за изместване, в случай че режимът е абсолютен, посочената стойност е целевата позиция.

  1. Cursor.next (): Следващият ред се връща от текущо изпълняващата се позиция на продължение на оператора.
  2. Cursor. – iter– (): Показва курсора, подходящ за протокол за итерация.
  3. Cursor.lastrowid (): тук се връща идентификатора на реда на последно променения ред.

Операции с база данни на Python

Основните операции на всяка база данни вмъкват, изтриват, актуализират и избират. всички тези CRUD операции също могат да се подразбират чрез python. В python задължителните операции като отваряне и затваряне на връзките към базата данни се извършват от самия python. За всички останали езици на програмиране тези видове операции се извършват специално от разработчика. По-долу примерът показва прилагането на тези операции.

пример

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 Hierarchy изключение

  • Стандартна грешка
  • Внимание
  • грешка
  • InterfaceError
  • Грешка в базата данни
  • DataError
  • OperationalError
  • IntegrityError
  • Вътрешна грешка
  • ProgrammingError
  • NotSupportedError

Конструктори, ориентирани към БД

  • Дата (година, месец, ден): Създава обект със стойност на датата в него
  • Време (час, минута, секунда): Изгражда обект с времева стойност в него
  • Времева марка (година, месец, ден, час, минута, секунда): Изгражда обект със стойност на времевата маркировка в него
  • Двоичен (низ): Конструиран е Python обект, способен да държи двоични стойности
  • Тип STRING: описва всички колони, които са тип низ в базата данни
  • Тип NUMBER: Описва всички колони, които са от числов тип
  • Тип DATETIME: Споменава всички колони за дата и час, присъстващи в базата данни
  • Тип ROWID: достига колоната с идентификатор на реда в базата данни

Заключение - Връзка към база данни на Python

Python определено се откроява като един от най-гъвкавите програмни интерфейси за програмиране, ориентирано към база данни. особено класифицираният набор от python DB-API правят задачата да комуникират с DB ефикасен процес, независимо от каквато и да е база данни.

Препоръчителни статии

Това е ръководство за свързване към база данни на Python. Тук обсъждаме ключовите стъпки в свързаността на базата данни и ползите от Python за програмиране на база данни. Може да разгледате и следните статии, за да научите повече -

  1. Факториал в Python
  2. Python File Operations
  3. За контур в Python
  4. Капсулиране в Python
  5. Python Sets
  6. Функции на Python
  7. Факторна програма в JavaScript
  8. Капсулиране в JavaScript