tämän Python SQLite opetusohjelma on osoittaa, miten kehittää Python-tietokanta sovelluksia SQLite tietokanta. Opit suorittamaan SQLite-tietokantaoperaatioita Pythonista.
Kuten kaikki tiedämme, SQLite on C-kielen kirjasto, joka toteuttaa SQL-tietokannan moottori, joka on suhteellisen nopea, serverless ja itsenäinen, korkea-luotettava. SQLite on testiympäristössä yleisimmin käytetty tietokantamoottori (Katso SQLite-Kotisivu)., SQLite tulee sisäänrakennettu useimmat tietokoneet ja mobiililaitteet ja selaimet. Pythonin virallinen sqlite3-moduuli auttaa meitä työskentelemään SQLite-tietokannan kanssa.
Python sqlite3-moduuli noudattaa Python-tietokannan API-spesifikaatiota v2.0 (PEP 249). PEP 249 tarjoaa SQL-käyttöliittymän, joka on suunniteltu edistämään ja ylläpitämään tietokantoihin pääsyyn käytettävien Python-moduulien samankaltaisuutta.,
Tämä opetusohjelma keskittyy pääasiassa: –
- Yhteyden SQLite-tietokannan Python ja Luoda SQLite-tietokanta ja taulukot
- Seuraava, me kattaa SQLite Tietotyypit ja se on vastaava Python-tyyppejä
- Seuraavaksi meidän tulee oppia kuinka suorittaa SQLite LIKA toimintaa eli.,pääset digitaalisen datan SQLite käyttää Python
- Seuraava, se kattaa SQLite liiketoimi Käsittely, luoda ja soittaa SQLite-toiminnot, ja virhe-käsittely tekniikoita kehittää vankka python SQLite tietokanta
- Se tulee myös kertoa, miten luoda ja hallita in-memory database ja muuntaa SQLite-arvot custom Python-tyyppejä
- Ota varmuuskopio SQLite tietokanta sisällä Python
Anna nähdä jokainen jakso nyt.,
Python SQLite Connection
tämän osion avulla osaat luoda SQLite-tietokannan ja muodostaa siihen yhteyden Pythonin kautta sqlite3-moduulin avulla.
Voit muodostaa yhteyden SQLite, sinun täytyy määrittää tietokannan nimi, jonka haluat liittää. Jos määrität tietokantatiedoston nimen, joka jo esittää levyllä, se muodostaa yhteyden siihen. Mutta jos määriteltyä SQLite-tietokantatiedostoa ei ole olemassa, SQLite luo sinulle uuden tietokannan.,
Sinun täytyy noudattaa seuraavia vaiheita yhteyden SQLite
- Käytä
connect()
menetelmä sqlite3 moduuli ja siirtää tietokannan nimi argumenttina. - Luoda kohdistin objektin yhteys esine palautetaan connect menetelmä toteuttaa SQLite-kyselyjä Python.
- Sulje Kohdistinobjekti ja SQLite-tietokantayhteysobjekti, kun työ on tehty.
- Kiinni tietokanta poikkeus, jos mitään, että voi esiintyä aikana tämä yhteys prosessi.
Seuraava Python-ohjelma luo uuden tietokantatiedoston ”SQLite_Python.,db ” ja tulostaa SQLite version tiedot.
sinun pitäisi saada seuraava lähtö yhdistettyäsi SQLite Pythonista.
Database created and Successfully Connected to SQLiteSQLite Database Version is: The SQLite connection is closed
Ymmärtää SQLite-yhteys-Koodi yksityiskohtaisesti
tuo sqlite3
- Tämä linja tuonti sqlite3 moduuli meidän ohjelma. Sqlite3-moduulissa määriteltyjen luokkien ja menetelmien avulla voimme kommunikoida SQLite-tietokannan kanssa.
sqlite3.,connect()
- Käyttäen
connect()
menetelmällä voimme luoda yhteyden SQLite-tietokantaan. Tämä menetelmä palauttaa SQLite-Yhteysobjektin. - yhteysobjekti ei ole langankestävä. sqlite3-moduuli ei salli yhteyksien jakamista kierteiden välillä. Jos vielä yrität tehdä niin, saat poikkeuksen juoksuaikaan.
-
connect()
menetelmä hyväksyy erilaisia argumentteja. Esimerkissämme ohitimme tietokannan nimi argumentti yhteyden.
cursor = sqliteConnection.,kursori ()
- yhteysobjektin avulla voimme luoda kursoriobjektin, jonka avulla voimme suorittaa SQLite-komennon/kyselyt Pythonin kautta.
- voimme luoda niin monta kursoria kuin haluamme yhdestä yhteysobjektista. Kuten yhteysobjekti, tämä kohdistinobjekti ei myöskään ole langankestävä. sqlite3-moduuli ei salli kursorien jakamista kierteiden välillä. Jos vielä yrität tehdä niin, saat poikkeuksen juoksuaikaan.
tämän jälkeen loimme SQLite-kyselyn saadaksemme tietokantaversion.
kursori.,suorita ()
- kursorin suoritusmenetelmällä voimme suorittaa Tietokantaoperaation tai kyselyn Pythonista.
cursor.execute()
menetelmä vie SQLite kyselyn parametrina ja palauttaa resultSet eli pelkkä tietokannan riviä. - Voimme noutaa kyselyn tulos tulosjoukko käyttämällä kohdistimen menetelmiä, kuten
- Tässä esimerkissä olemme täytäntöönpanosta
SELECT version();
kyselyn hae SQLite versio.,
kokeilla-paitsi-vihdoin lohko: Me laitetaan kaikki meidän koodi kokeilla-paitsi lohko kiinni SQLite tietokanta poikkeukset ja virheet, joita saattaa ilmetä tämän prosessin aikana.
- Käyttäen
sqlite3.Error
luokan sqlite3 moduuli, voimme käsitellä mitä tahansa tietokannan virhe ja poikkeus, joka voi esiintyä, kun työskentely SQLite Python. - tällä lähestymistavalla voimme tehdä sovelluksestamme vankan.
sqlite3.Error
– Luokka auttaa ymmärtämään virheen yksityiskohtaisesti. Se palauttaa virheviestin ja virhekoodin.
kursori.sulje () ja yhteys.,sulje ()
- on aina hyvä käytäntö sulkea kursori ja yhteysobjekti, kun työ valmistuu tietokantaongelmien välttämiseksi.
Luo SQLite taulukko Python
tässä osassa, me oppia, miten luoda taulukon SQLite-tietokannan Python käyttää sqlite3 moduuli. Luo taulukkolauseke on DDL-kysely anna nähdä, miten se suoritetaan Pythonista.
tässä esimerkissä luomme ”SqliteDb_developers” taulukon sisällä ”SQLite_Python.dB ” – tietokanta.,
Vaiheet luoda taulukon SQLite Python: –
- Yhteyden SQLite avulla
sqlite3.connect()
. Olen selittänyt SQLite yhteyskoodi alussa tämän artikkelin. - valmista Luo taulukko-kysely.
- Suorittaa kyselyn käyttäen
cursor.execute(query)
- lopulta, Lähellä SQLite tietokanta yhteys ja kohdistin objektin.,
Lähtö:
Successfully Connected to SQLiteSQLite table created:the sqlite connection is closed
SQLite Tietotyypit ja se on vastaava Python-tyyppejä
Ennen kuin jatkat pidemmälle suorittamalla SQLite LIKA toiminnot Python ensin ymmärtää, SQLite tiedot tyyppi ja niiden vastaava Python-tyypit, joka auttaa meitä tallentaa ja lukea tietoja SQLite-taulun.
SQLite-tietokantamoottorissa on useita varastointiluokkia arvojen tallentamiseen. Jokaisella SQLite-tietokantaan tallennetulla arvolla on jokin seuraavista tallennusluokista tai tietotyypeistä.,
SQLite Tietotyypit:
- NULL: – arvo on NULL-arvo.
- kokonaisluku: – numeerisen arvon tallentamiseen. Kokonaisluku tallennetaan 1, 2, 3, 4, 6, tai 8 tavua riippuen luvun suuruudesta.
- REAL: – arvo on kelluva pisteen arvo, esimerkiksi 3.14 arvo PI
- TEKSTIÄ: – arvo on merkkijono, TEKSTI-arvo tallennetaan käyttäen UTF-8, UTF-16BE tai UTF-16LE-koodausta.
- BLOB: – arvo on tiedon möykky eli binääridata. Sitä käytetään kuvien ja tiedostojen tallentamiseen.
seuraavat SQLite-muotoon muunnetut Python-tyypit ilman ongelmia., Joten kun muokkaat tai luet SQLite-taulukosta suorittamalla CRUD-toimintoja, muista tämä taulukko.,
Python type | SQLite type |
None | NULL |
int | INTEGER |
float | REAL |
str | TEXT |
bytes | BLOB |
Perform SQLite CRUD Operations from Python
Most of the time, we need to manipulate the SQLite table’s data from Python. To perform these data manipulations, we can execute DML queries i.e.,, SQLite Insert, Update, Delete operations from Python.
nyt, tiedämme pöydän, ja se on sarakkeen tiedot, joten siirrytään crud operations. Olen luonut erillisen opetusohjelman jokaisesta operaatiosta, joka kattaa sen yksityiskohtaisesti. Katsotaan jokainen osio nyt.
- lisää tiedot SQLite – taulukkoon Pythonista-tässä osiossa opimme, miten suoritetaan INSERT-komento Pythonista tietueiden lisäämiseen SQLite-taulukkoon.
- Lue SQLite – taulukon tiedot Pythonista-tässä artikkelissa opimme suorittamaan SQLite SELECT-kyselyn Python-sovelluksesta noutamaan taulukon rivit., Lisäksi kerron, miten käyttää
fetchall()
,fetchmany()
jafetchone()
menetelmiä osoittimen luokan noutaa rajoitettu rivit taulukosta parantaa suorituskykyä. - Päivitä SQLite – taulukon tiedot Pythonista-tässä osiossa opimme suorittamaan Pythonin PÄIVITYSKYSELYN SQLite-taulukon tietueiden muokkaamiseksi.
- Poista tiedot SQLite taulukko Python – tässä osassa, opit, miten toteuttaa POISTAA kyselyn python poistaa tietueita SQLite-taulun.,
Execute SQL-Tiedoston (scripts) käyttäen kohdistin on executescript toiminto
SQLite-skriptit ovat käteviä suurimman osan päivittäistä työtä. SQLite script on joukko SQL-komentoja tallennettu tiedostona (in .sql-muoto).
SQLite-skripti sisältää yhden tai useamman SQL-toiminnon, jotka sitten suoritat komentorivikehotteeltasi tarvittaessa.
alla on muutamia yleisiä skenaarioita, joissa Voimme käyttää SQLite-skriptejä
- varmuuskopioida useita tietokantoja kerralla.
- vertaa Rivimääriä taulukoihin kahdesta eri tietokannasta, joilla on sama skeema.,
- pidä kaikki CREATE TABLE SQL-komennot tietokantakomentona. Voit luoda tietokantakaavion millä tahansa palvelimella.
skriptisi voi suorittaa SQLite-komentoriviltä käyttäen.Lue komento, näin:
sqlite> .read mySQLiteScript.sql
tästä esimerkistä olen luonut otos SQLite-skriptin, joka luo kaksi taulukkoa. Tämä on käsikirjoitus, jonka olen luonut.
CREATE TABLE hardware ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, price REAL NOT NULL);CREATE TABLE software ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, price REAL NOT NULL);
nyt katsotaan, miten SQLite-skripti suoritetaan Pythonin sisältä.
Lähtö: SQLite taulukoita luotu suorittamalla SQL script Python.,
Successfully Connected to SQLiteSQLite script executed successfullysqlite connection is closed
Huomautus: Kun muodostat yhteyden SQLite, luemme kaikki sisältö SQLite script-tiedosto tallennetaan levylle ja kopioida sen python string muuttuja. Sitten soitimme cursor.executscript(script)
menetelmä suorittaa kaikki SQL-lausekkeet yhdessä puhelussa.
Lisää/Hae digitaalisen datan SQLite käyttää Python
- tässä osiossa kerron, miten lisätä tai tallentaa minkä tahansa digitaalisen tiedon, kuten tiedosto -, kuva -, video-tai laulu MÖYKKY datan SQLite taulukko python.,
- Lue myös, miten voimme lukea tiedostoa, kuvaa, videota, laulua tai mitään Sqliteen tallennettua digitaalista dataa Pythonin avulla.
Katso Python SQLite Blobin täydellinen opas tiedoston ja kuvien lisäämiseen ja noutamiseen.
Luo Tai Uudelleen SQLite-Toimintoja käyttämällä Python
Pythonin sqlite3 moduuli tarjoaa meille mahdollisuuden luoda ja uudelleen SQL toiminnot sisällä Python. Olen luonut erillisen opetusohjelman, joka kattaa sen yksityiskohtaisesti. Katso kuinka luoda ja määritellä uudelleen SQL-toimintoja Pythonin sisältä.,
Katso täydellinen opas luoda tai uudelleen SQLite toimintoja sisällä Python.
Työskentely SQLite-päivämäärä ja aikaleima-tyypit, Python ja päinvastoin
Joskus meidän täytyy lisätä tai lukea date-tai DateTime-arvo SQLite taulukko. Joten jos työskentelet päivämäärän tai aikaleiman arvojen kanssa, niin katso erillinen opetusohjelma työskentelystä SQLite DateTime-arvojen kanssa Pythonissa.
SQLite Database Exceptions
Exception sqlite3.Varoitus
- poikkeuksen alaluokka. Ja voit jättää sen huomiotta, jos haluat, se ei estä teloitusta.,
Poikkeus sqlite3.Virhe
- muiden poikkeusten perusluokka sqlite3-moduulissa. Se on poikkeuksen alaluokka.
Poikkeus sqlite3.Tietokantaerror
- poikkeuslupa nostettu tietokantaan liittyvien virheiden vuoksi.
Esimerkkejä: Jos yrität avata tiedoston sqlite3-tietokanta, joka ei OLE tietokantatiedostoa, saat sqlite3.Tietokantaerror: file is encrypted or is not a database
Exception sqlite3.IntegrityError
- Tietokantaerrorin alaluokka., Saat tämän poikkeuksen, kun tietokannan suhteellisuusperiaate vaikuttaa, esim. ulkomainen avaintarkistus epäonnistuu.
Poikkeus sqlite3.ProgrammingError
- Se on myös alaluokka DatabaseError. Tämä poikkeus nostettiin ohjelmointivirheiden vuoksi, esimerkiksi luomalla taulukko, jossa on sama, joka on jo olemassa, syntaksivirhe SQL-kyselyissä.
Poikkeus sqlite3.OperationalError
- Se on myös alaluokka DatabaseError. Tämä virhe ei ole meidän hallinnassamme. Tämä poikkeus koskee tietokannan toimintaan liittyviä virheitä.,
- Examples: an accidental disconnect, server down, a timeout issues, the data source issues. server down
Exception sqlite3.NotSupportedError
- saat poikkeus nostetaan, kun tietokanta API käytettiin joka ei tue tietokantaan.
- Esimerkki: soittaminen rollback () – menetelmää yhteyden, joka ei tue kaupan. Kutsuu toimitusta luotuasi pöytäkomennon.,
Joten se on aina suositeltavaa kirjoittaa kaikki tietokannan käyttö koodi yrittää estää, joten voit saalis poikkeuksia lukuun ottamatta lohkon, jos mitään, ja toteutettava korjaavia toimia sitä vastaan.
esimerkiksi, yritetään lisätä tietoja taulukkoon, jota ei ole olemassa SQLite-tietokantaan ja Tulostaa koko poikkeus pino.,
tuloksena on:
Muuta SQLite-yhteyden aikakatkaisu yhdistettäessä sisällä Python
Se voi olla tilanne, kun useita yhteyksiä käyttää SQLite tietokanta, ja yksi prosessit suorittaa joitakin tietojen muuttaminen toimintaa tietokantaan, suorittaa tietojen muuttaminen yhteys on otettava lukko eli, SQLite-tietokanta on lukittu, kunnes liiketoimi on sitoutunut. Timeout parametri me määrittää, kun muodostetaan yhteys tietokantaan, määrittää, kuinka kauan yhteys pitäisi odottaa lukon mennä pois, kunnes nostaa poikkeus.,
aikakatkaisuparametrin oletusarvo on 5,0 (viisi sekuntia). Sinun ei tarvitse määrittää sitä yhdistettäessä, koska se on oletusarvo. toisin sanoen, Kun olet yhteydessä SQLite Pythonista, ja et saanut vastausta 5 sekunnin kuluessa, ohjelmasi nostaa poikkeuksen. Mutta jos sinulla on edessään yhteyden aikakatkaisu kysymys ja halusi lisätä sen, voit tehdä tämän käyttäen aikakatkaisu argumentti sqlite3.connect
toiminto.
katsotaan, miten aikalisän arvoa muutetaan yhdistettäessä SQLite Pythonin sisältä.,
tuloksena on:
Connected to SQLiteTotal rows are: (2,)The Sqlite connection is closed
Tunnistaa yhteensä muutokset koska SQLite tietokanta yhteys oli avattu
tarkastuksen tai tilastoja varten jos haluat löytää numerot tietokannan rivit, jotka on muutettu, lisätty tai poistettu, sillä tietokantayhteys avattiin voit käyttää connection.total_changes
menetelmä Pythonin sqlite3 moduuli.
connection.total_changes
metodi palauttaa kokonaismäärä tietokannan rivit, jotka on vaikuttanut. Katsotaanpa esimerkki Python löytää yhteensä muutokset, jotka on tehty sen jälkeen, kun tietokantayhteys avattiin.,
tuloksena on:
Connected to SQLiteTotal Rows affected since the database connection was opened: 3sqlite connection is closed
Ota varmuuskopio SQLite tietokanta sisällä Python
Pythonin sqlite3 moduuli tarjoaa funktion, joka ottaa varmuuskopio SQLite tietokanta. Käyttämällä connection.backup()
– menetelmää voit ottaa varmuuskopion SQLite-tietokannasta.
connection.backup(target, *, pages=0, progress=None, name="main", sleep=0.250)
Tämä toiminto ottaa varmuuskopio SQLite tietokanta, ja kopio on kirjoitettu argumentti kohde, että täytyy olla jokin Yhteys esimerkiksi., Oletuksena, tai kun sivut ovat joko 0 tai negatiivinen kokonaisluku, koko tietokanta on kopioitu yhdessä vaiheessa; muuten, menetelmä suorittaa silmukan kopiointi jopa sivuja kerrallaan.
nimiargumentti määrittää tietokannan, jonka haluat kopioida. Uniargumentti määrittelee nukuttavien sekuntien määrän peräkkäisten yritysten välillä, joilla yritetään varmuuskopioida tietokannan jäljellä olevat sivut. uniargumentti voidaan määritellä joko kokonaislukuna tai kelluntapistearvona.
katso esimerkki olemassa olevan tietokannan kopioimisesta toiseen.,
tuloksena on:
Huomautus:
- Kun yhteyden SQLite, avasimme sekä tietokantoja käyttämällä kahta eri yhteyksiä.
- seuraavaksi toteutimme
connection.backup()
– menetelmän käyttäen ensimmäistä yhteysastetta. Lisäksi määritimme kunkin iteraation yhteydessä kopioitavien tietokantasivujen määrän.
Python SQLite Liikunta Projekti
Yritä ratkaista Python-Tietokanta Ohjelmointi Liikunta master-tietokanta ohjelmointi Python.
Leave a Reply