Програмирање

Основи рада са СКЛите базом података у Питхону

Основи рада са СКЛите базом података у Питхону

База података је једна од најкориснијих и најпопуларнијих датотека за чување података; могу се користити за чување било које врсте података, укључујући текст, бројеве, слике, бинарне податке, датотеке итд. СКЛите је систем релационог управљања базама података заснован на СКЛ језику. То је Ц библиотека и пружа АПИ за рад са другим програмским језицима, укључујући Питхон. Не захтева да се засебни процес сервера покреће по потреби у великим механизмима база података као што су МиСКЛ и Постгрескл.

Брза је и лагана, а целокупна база података чува се у једној датотеци диска, што је чини преносивом попут ЦСВ-а или других датотека за складиштење података. Многе апликације користе СКЛите за интерно складиштење података, углавном у окружењима попут мобилних уређаја или малих апликација.

СКЛите база података за Питхон

Заронимо дубоко у СКЛите са програмским језиком питхон. У овом упутству научићемо предности коришћења СКЛите-а, основе питхон склите3 модула, стварање табеле у бази података, уметање података у табелу, постављање упита из табеле и ажурирање података табеле.

Предности употребе СКЛите-а

Главне предности коришћења СКЛите-а су:

СКЛите се такође користи у Гоогле Цхроме-у за чување колачића, корисничких података и других важних података, укључујући корисничке лозинке. Андроид ОС такође користи СКЛите као свој примарни механизам базе података за чување података.

Питхон СКЛите3 модул

Да бисмо користили СКЛите, потребан нам је Питхон који мора бити инсталиран у наш систем. Ако у вашем систему већ није инсталиран Питхон, можете се обратити нашем водичу корак по корак за инсталирање Питхона у Линук. Могли бисмо да користимо СКЛите у Питхону користећи склите3 модул доступан у Питхоновој стандардној библиотеци. Герхард Харинг написао је склите3 модул; пружа СКЛ интерфејс у ​​складу са ДБ-АПИ 2.0. Долази са унапред инсталираном Питхон стандардном библиотеком, тако да не морамо да бринемо о даљој инсталацији.

Стварање везе са базом података

Први корак током рада са СКЛитеом у Питхону је успостављање везе са базом података. То можемо учинити коришћењем методе цоннецт () склите3 за постављање везе. Пример потражите у следећем коду. Можете једноставно копирати код у ИДЕ или уређивач текста и извршити га. Ако имате проблема са избором ИДЕ-а за Питхон, можете се обратити нашем водичу за поређење најбољег ИДЕ-а питхон-а. Препоручује се да поново препишете код у свој ИДЕ, а ако желите да копирате код, проверите синтаксу са кодом који је овде присутан.

# увоз потребних модула импорт склите3 # подешавање везе са базом података цонн = склите3.повезати ("узорак.дб ") принт (" Успешно повезано са базом података)) # затварање везе цонн.Близу()

Горњи програм ће створити везу са датотеком базе података СКЛите „узорак.дб.”То ће дати сљедећи излаз у терминалу.

Погледајмо шта се дешава у горњем коду. У првом реду смо увезли склите3 модул, који ће нам помоћи да радимо са СКЛите базама података у Питхону.

У другом реду креирамо везу са датотеком базе података СКЛите под називом „сампле.дб “користећи цоннецт () функцију. Функција цоннецт () прихвата путању до датотеке базе података као аргумент. Ако датотека не постоји у датој путањи, тада ће сама створити нову датотеку базе података са датим именом у тој путањи. Функција цоннецт () ће вратити објект базе података у нашем програму; враћени објекат смештамо у променљиву са именом цонн.

Трећа линија у нашем програму је једноставна штампати изјава за приказ поруке о успешној вези. Последњи ред програма прекида везу са базом података помоћу Близу() функција објекта везе.

У претходном примеру смо креирали базу података на диск, али такође можемо створити базу података у примарној меморији РАМ-а. Стварање базе података у РАМ-у чини извршење базе података бржим него обично. Ипак, база података ће се створити привремено, а како се извршавање програма заустави, избрисаће је из меморије. У меморији можемо створити базу података давањем одређеног имена: мемори: као аргумент за цоннецт () функцију. Погледајте доњи програм као илустрацију.

увоз склите3 цонн = склите3.цоннецт (": мемори:") принт ("\ н [+] База података је успешно креирана у меморији") цонн.Близу()

Горњи програм ће створити базу података у РАМ меморији и можемо је користити за обављање готово свих задатака које можемо урадити са базама података створеним на диску. Овај метод је користан приликом стварања привремене виртуелне базе података из неког разлога.

Курсор СКЛите3

Акурсор објект је наш интерфејс за базу података, који омогућава покретање било когСКЛ упит на бази података. Да бисмо извршили било које СКЛ скрипте помоћу склите3, морамо створити објект курсора. Да бисмо креирали објекат курсора, треба да користимо курсор () метода веза објект. Објекат курсора наше базе података можемо створити помоћу следећег кода.

# увоз потребних модула импорт склите3 # подешавање везе са базом података цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") цур.цлосе () # затварање везе цонн.Близу()

Када се програм изврши, излаз ће се видети као што је приказано на доњој слици.

Да видимо како функционише горњи код. У горњем коду, први, други, трећи успоставља везу са базом података, као што је раније приказано. У четвртом реду смо користили курсор () метода објекта повезивања за креирање курсора и чување враћеног курсора у променљиву названу „цур“. Пети ред је општи испис () изјава. У шестом реду уништили смо објект курсора из меморије помоћу Близу() метода објекта курсора.

Типови података СКЛите

Пре него што наставимо даље, прво да схватимо типове података СКЛите. Механизам базе података СКЛите има неколико класа за складиштење за чување многих врста података, укључујући текст, бинарне податке, Интегер итд. Свака вредност има један од следећих типова података.

СКЛите типови података:

Поређење типова података СКЛите и Питхон

Биће нам много пута када треба да користимо питхон типове података за чување неких СКЛ података и обављање неких активности. Да бисмо тако нешто урадили, морамо знати који се СКЛ типови података односе на које питхон типове података.

Следећи типови Питхон-а су донекле слични типовима података СКЛите:

Питхон тип СКЛите тип
Ниједан НУЛА
инт ИНТЕГЕР
пловак ПРАВИ
стр ТЕКСТ
бајтова БЛОБ

Креирање табеле помоћу СКЛите-а

Да бисмо креирали табелу користећи СКЛите, морамо да користимо СТВОРИ ТАБЕЛУ изјава СКЛ-а у извршити () метода објекта курсора. Основна синтакса израза ЦРЕАТЕ ТАБЛЕ у СКЛ-у приказана је у наставку:

ЦРЕАТЕ ТАБЛЕ име_табеле (име_ступаца Ограничење типа_датотека, ... Име_ступаца ограничење типа_типа);

Да бисмо користили горенаведену СКЛите изјаву у Питхону, морамо покренути доњи пример програма. Створиће табелу са именом запослени у нашој бази података.

увоз склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") табле = цур.екецуте ("" "СТВОРИ ТАБЕЛУ запосленика (ид ИНТ ПРИМАРНИ КЉУЧ, име ЦХАР (25), плата ЦХАР (25), датум придруживања ДАТУМ);" "") принт ("\ н [+] Табела је успешно креирана") цур.цлосе () цонн.Близу()

У горњем програму смо креирали запослени табела са атрибутима ид, име, плата, и јоининг_дате. Ова табела се сада може користити за складиштење података или постављање упита према захтевима. У терминалу ћете видети следећи излаз.

У горњем коду користили смо извршити () метода курсора за покретање СКЛ наредбе за креирање табеле са датим колонама.

Уметање података у табелу

Креирали смо табелу у нашој бази података СКЛите. Сада у њега убацимо неке податке користећи СКЛ. Основна синтакса наредбе ИНСЕРТ СКЛ-а је:

ИНСЕРТ ИНТО име_табеле (колоне_име_1, колоне_име_2, ...) ВРЕДНОСТИ (колоне_дата_1, колоне_дата_1, ...)

У горњој синтакси, име_табеле је назив табеле у коју желимо да убацимо наше податке. Тхе име_колоне_1, име_колоне_2, су назив колона присутних у табели. Тхе цолумн_дата_1, цолумн_дата_2,… су подаци које желимо да убацимо у дате колоне.

Погледајмо практичну демонстрацију за уметање података у табелу. У нашу табелу са именом додаћемо неке податке запослени користећи СКЛите и Питхон. Покрените доњи код да бисте у табелу убацили неке податке.

увоз склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") цур.екецуте ("ИНСЕРТ ИНТО воркер (ид, наме, паи, јоининг_дате) ВАЛУЕС (1001, 'Давид', 50000, '1-08-2019')") цур.екецуте ("ИНСЕРТ ИНТО воркер (ид, наме, паи, јоининг_дате) ВАЛУЕС (1002, 'Сам', 80000, '3-09-2020')") цур.екецуте ("ИНСЕРТ ИНТО воркер (ид, наме, паи, јоининг_дате) ВАЛУЕС (1003, 'Росхан', 90000, '8-08-2020')") цур.екецуте ("ИНСЕРТ ИНТО воркер (ид, наме, паи, јоининг_дате) ВАЛУЕС (1004, 'Кисхан', 100000, '9-09-2020')") цур.екецуте ("ИНСЕРТ ИНТО воркер (ид, наме, паи, јоининг_дате) ВАЛУЕС (1005, 'Анкит', 111000, '10 -05-2019 ')") принт ("\ н [+] Подаци су успешно уметнути" ) цур.цлосе () цонн.цоммит () цонн.Близу()

Горњи код ће убацити неке податке у запослени табела коју смо раније креирали. Да видимо шта се дешава у коду. Првих пет редова користи се за успостављање везе са базом података и подешавање курсора. У редовима од шест до десет морамо да користимо наредбу ИНСЕРТ СКЛ-а за уметање података у табелу запослених. Морамо да користимо име колона табеле запослених у првој загради и податке за колоне у другој загради. Само треба да користимо урадити() метода објекта повезивања пре прекида везе са базом података, иначе промене које смо направили неће бити сачуване у бази података.

Упит података из табеле

Научили смо како да убацимо податке у СКЛите базу података, али такође морамо да тражимо податке из базе података да би их користили наш програм или корисници. За упит података можемо користити наредбу СЕЛЕЦТ СКЛ-а под методом екецуте (). Основна синтакса наредбе СЕЛЕЦТ приказана је у наставку.

СЕЛЕЦТ имена_колона из ИМА_табеле

Тхе колоне_називи у синтакси ће бити име колона које морамо да упитамо. Ове колоне морају бити присутне у табели чије је име дато уместо име_табеле. Сада да видимо како бисмо могли да користимо ову синтаксу за тражење података из табеле наших запослених. Само покрените следећи код да бисте видели илустрацију.

импорт склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") цур.екецуте ("СЕЛЕЦТ ид, наме ФРОМ запосленик") табле = цур.фетцхалл () за и у табели: принт (и) цур.цлосе () цонн.цоммит () цонн.Близу()

Излаз који пружа горњи програм приказан је у наставку.

Горњи програм ће тражити колоне у табели запослених ид и име. Податке који су враћени можемо прикупити помоћу фетцхалл () метода објекта курсора. Враћени подаци су питхон листа која садржи редове које смо питали. Да бисмо приказали појединачне редове, морамо да користимо петљу Питхон фор да бисмо прешли преко листе; више о петљи Питхон фор можете прочитати овде. Сада да видимо неке корисне ствари које можемо извршити помоћу наредбе СЕЛЕЦТ.

Преузми све податке из табеле

Понекад постоји потреба за преузимањем свих записа из табеле базе података. Да бисмо добили све записе помоћу СЕЛЕЦТ наредбе СКЛ-а, морамо следити основну синтаксу која је дата у наставку:

СЕЛЕЦТ * ФРОМ име_табеле

Тхе * симбол ће се користити за означавање свих ступаца, а помоћу њега можемо извршити упит за све ступце СКЛите табеле. Да бисмо преузели све записе из запосленог у табели који смо раније креирали, треба да покренемо следећи код.

увоз склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") цур.изврши ("СЕЛЕЦТ * ФРОМ запослени") редови = цур.фетцхалл () принт ("\ н [+] Упит података \ н") за и у редовима: принт (и) цур.цлосе () цонн.цоммит () цонн.Близу()

Горњи код ће приказати све записе присутне у табели запослених коју смо раније креирали. Резултат програма биће отприлике овако:

Упит података у одређеном редоследу

Понекад треба да претражујемо податке из табеле у одређеном редоследу као што је Растући или Силазни. Израз СЕЛЕЦТ можемо користити са кључном речи ОРДЕР БИ за приказ редоследа података. Основна синтакса кључне речи ОРДЕР БИ у наредби СЕЛЕЦТ је:

ОДАБЕРИТЕ име_колоне ИЗНАД име_табеле НАРУЧИ ПО име_колоне

Погледајмо како можемо да користимо кључну реч ОРДЕР БИ за приказ података из редоследа табела запослених по имену.

увоз склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") цур.извршити ("СЕЛЕЦТ * ФРОМ запосленика ОРДЕР БИ наме") табела = цур.фетцхалл () за и у табели: принт (и) цур.цлосе () цонн.цоммит () цонн.Близу()

Можда ћете видети излаз горњег кода, као што је приказано доле.

У излазу ћете приметити да су подаци приказани у растућем редоследу колоне име.

Ажурирање записа у табели

Много је ситуација када желимо да ажурирамо табелу својих база података. На пример, ако базу података користимо за школску апликацију, тада ћемо морати да ажурирамо податке ако се ученик пребаци у нови град. Брзо можемо ажурирати ред било које табеле наше базе података помоћу АЖУРИРАЊЕ изјава СКЛ-а у извршној () методи. Морамо да користимо клаузулу ВХЕРЕ СКЛ-а као услов за одабир запосленог. Основна синтакса АЖУРИРАЊЕ Изјава је приказана испод.

АЖУРИРАЊЕ име_табеле СЕТ упдате_рекуиред ВХЕРЕ Неки_услов

Погледајте доњи пример као илустрацију УПДАТЕ израза.

увоз склите3 цонн = склите3.повезати ("узорак.дб ") принт (" \ н [+] Успешно повезан са базом података ") цур = цонн.цурсор () принт ("\ н [+] Курсор је успешно постављен") принт ("\ н [+] Подаци пре ажурирања \ н") цур.извршити ("СЕЛЕЦТ * ФРОМ запосленог") пре = цур.фетцхалл () за и ин пре: принт (и) цур.изврши ("АЖУРИРАЈ СЕТ запосленог СЕТ наме = 'Адитиа' где наме = 'Сам'") испиши ("\ н [+] Подаци након ажурирања \ н") цур.извршити ("СЕЛЕЦТ * ФРОМ запосленог") након = цур.фетцхалл () за и ин после: принт (и) цур.цлосе () цонн.цоммит () цонн.Близу()

Горњи програм ће ажурирати запосленика стола. Замењује име Сам са именом Адитиа где год се појави у табели. Погледајте слику испод за излаз програма.

Закључак

То је наш опсежни водич за обављање неких основних задатака повезаних са СКЛите базом података помоћу Питхона. У предстојећем упутству видећемо још неколико напредних употреба које би вас требале одвести на следећи ниво учења СКЛите базе података за Питхон. Пратите ФОССЛинук.

Преглед бежичног миша Мицрософт Сцулпт Тоуцх
Недавно сам читао о Мицрософт Сцулпт Тоуцх бежични миш и одлучио да га купи. Након што сам га неко време користио, одлучио сам да са њим поделим своје...
Екран Трацкпад и показивач миша АппиМоусе за Виндовс таблете
Корисницима таблета често недостаје показивач миша, посебно када су уобичајени за коришћење преносних рачунара. Паметни телефони и таблети на додир ос...
Средњи тастер миша не ради у оперативном систему Виндовс 10
Тхе средње дугме миша помаже вам да се крећете кроз дугачке веб странице и екране са пуно података. Ако се то заустави, на крају ћете користити тастат...