Преглед програмирања база података Питхон
Програмски језик питхон нуди обимне АПИ-је за програмирање базе података. Неке од кључних база података које подржава питхон дате су у даљем тексту. У овој теми ћемо сазнати више о Питхон Цоннецтион Дата Цоннецтион.
1. Орацле
2. МиСКЛ
3. ПостгреСКЛ
4. Терадата итд
База података је збирка унапред распоређених информација које се могу без напора користити, управљати и ревидирати. Кључне карактеристике ДБ АПИ-ја су:
- Креирајте везу са базом података
- Рад на СКЛ изјавама и похрањеним процедурама
- Веза се може затворити
Предности Питхона за програмирање база података
- У поређењу са другим језицима, програмирање питона је брже и лакше.
- У питхон-у обавезне операције попут отварања и затварања веза базе података врши сам питхон. За све остале програмске језике програмер ове врсте изводи посебно.
- АПИ базе података питхон подржава широк опсег подешавања базе података тако да задатак повезивања с базама података чини знатно лакшим процесом.
АПИ-ји Питхон ДБ АПИ-ја
Базе података | Питхон ДБ АПИ-ови |
МИСКЛ | МиСКЛдб |
ПостгреСКЛ | псицопг, ПиГресКЛ и пиПгСКЛ |
Орацле | дц_орацле2 и цк_орацле |
ДБ2 | Пидб2 |
Кључни кораци у повезивању база података
Из перспективе питхон-а постоје четири главна корака у процесу повезивања базе података користећи питхон. они су као испод,
1. Израда објекта везе
4. прекид створене везе
2. Да бисте се прилагодили процесу читања и писања, најавите курсор
3. Интеракције базе података
Објекти повезивања | |
Име | Опис |
.Близу() | Затвара успостављену повезаност са базом података |
.урадити() | Обавити нерешене трансакције са базом података |
.роллбацк () | Ова трансакциона сагласност да ће се вратити на почетак неизвршене трансакције |
.цурсор () | Ствара се објекат који представља курсор |
Објекти курсора Питхон-а
1) .екецуте ()
Изјава Секуел која се спомиње у оквиру ове функције је извршена.
Синтакса
execute(sql, (parameters))
Пример
import sqlite3con = sqlite3.connect("UserDB")cur = con.cursor()cur.execute(" select * from emp ")print cur.fetchone()
2) .екецутемани ()
За све наведене параметре у низу извршава се дата СКЛ изјава
Синтакса
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) .фетцхоне ()
Дохвати један ред резултата упита.
Пример
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) .фетцхмани ()
Дохвати одређени скуп редова резултата упита. параметар одређује број редова по позиву. Број реда који се преузимају у великој мјери овиси о величини укљученог низа елемента курсора. Дакле, као што је број редова наведен у параметру дат исти број редова, мора се покушати дохватити. Ако то није могуће због доступних специфичних редова, може се вратити мање редова.
Пример
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) .фетцхалл ()
Дохвати све редове упита. ти се редови враћају редоследом. овде би на перформансе дохвата могло утицати понекад и дохват матрице показивача. Када је величина матрице показивача изузетно велика, тада ће и време потребно за извлачење редова бити релативно велико.
Пример
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) Цурсор.сцролл (вредност (, мод = 'релативно'))
Кроз курсор се креће према поменутој вредности режима. ако је режим релативан, поменута вредност сматра се одступањем, у случају да је режим апсолутни, тада је споменута вредност циљна позиција.
- Цурсор.нект (): Следећи ред се враћа са тренутно извршеног положаја наредне изјаве.
- Курсор – итер– (): Показује курсор погодан за протокол итерације.
- Цурсор.ластровид (): овде се враћа ИД реда последње модификованог реда.
Операције базе података Питхон-а
Кључне операције било које базе података уносе, бришу, ажурирају и одабиру. све ове ЦРУД операције могу се подразумевати и преко питхона. У питхон-у обавезне операције попут отварања и затварања веза базе података врши сам питхон. За све остале програмске језике програмер ове врсте изводи посебно. Примјер у наставку приказује примјену ових операција.
Пример
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()
Питхон Дб хијерархија изузетака
- Стандардна грешка
- Упозорење
- Грешка
- ИнтерфацеЕррор
- Грешка у датотеци
- ДатаЕррор
- ОператионалЕррор
- ИнтегритиЕррор
- Унутрашња грешка
- ПрограммингЕррор
- НотСуппортедЕррор
Конструктори оријентисани према ДБ-у
- Датум (година, месец, дан): гради објект са вредностом датума у њему
- Време (сат, минута, секунда): гради предмет са временском вредношћу у њему
- Временска ознака (година, месец, дан, сат, минута, секунда): Израђује објект са вредностма временске ознаке у себи
- Бинарни (стринг): Конструисан је објект питхон који може да држи бинарне вредности
- Тип СТРИНГ: описује све ступце који су стрингови у бази података
- Тип БРОЈ: Описује све ступце који су бројчаног типа
- Тип ДАТЕТИМЕ: Спомиње све ступце датума и времена који се налазе у бази података
- Врста РОВИД: Досеже ступац ид редака у бази података
Закључак - веза базе података Питхон
Питхон се дефинитивно истиче као један од најфлексибилнијих програмских интерфејса за програмирање оријентисано на базе података. посебно класификовани скуп питхон ДБ-АПИ-ја чини задатак комуникације са ДБ-овим ефикасним процесом без обзира на било коју базу података.
Препоручени чланци
Ово је водич за Питхон везу базе података. Овдје смо расправљали о кључним корацима повезивања база података и предностима Питхона за програмирање база података. Можда ћете такође погледати следеће чланке да бисте сазнали више -
- Факторориал у Питхон-у
- Операције датотека Питхон-ом
- За петљу у Питхон-у
- Инкапсулација у Питхон-у
- Питхон сетови
- Особине Питхон-а
- Факторски програм у ЈаваСцрипт-у
- Инкапсулација у ЈаваСцрипт-у