Katika somo hili utajifunza jinsi ya kuingiza data kwenye table na database tuliyoiunda katika somo lililopita
Somo la 4 Python sqlite: Jinsi ya kuingiza data kwenye table na database
INSERT ndio roho ya kuanza kujaza database na kufanya iwe na maana. Tumeunda kabati la faili (database) na droo (meza), sasa ni wakati wa kuweka taarifa zetu za kwanza.
Amri ya INSERT INTO ndio tunayotumia kuongeza mstari mpya (record) kwenye meza yetu. Muundo wake wa jumla unaonekana hivi:
INSERT INTO jina_la_meza (safu1, safu2, ...) VALUES (thamani1, thamani2, ...);
Katika Python na SQLite, hatutumii amri hii moja kwa moja. Badala yake, tunatumia placeholders (?) ili kuzuia mashambulizi ya kiusalama yanayojulikana kama SQL Injection. Njia hii ni salama zaidi na inafaa zaidi kwa programu.
Unda faili jipya liite insert.py kisha paste code hizi.
NB: Ni vizuri kuandika mwenyewe ili kupata uzoefu thabiti.
Hebu tuchambue code ili kuelewa kila sehemu.
Kazi hii inachukua data kutoka kwa mtumiaji na kuihifadhi kwenye database.
connection = dbConn.get_connection(): Hii inaita kazi ya get_connection() kutoka kwenye faili yako ya db_conn ili kupata muunganiko na database.
pointer = connection.cursor(): Hapa tunapata cursor yetu. Kama tulivyojifunza awali, cursor ndiye mtekelezaji wa amri za SQL.
query = """ INSERT INTO products (name, taken_by, quantity, location, price) VALUES (?, ?, ?, ?, ?) """: Hii ndio amri yetu ya SQL.
INSERT INTO products: Tunamwambia database "ingiza data kwenye meza ya products."
(name, taken_by, ...): Hizi ni safu ambazo tutaziingizia data. Ni muhimu kuzitaja kwa mpangilio mzuri.
VALUES (?, ?, ?, ?, ?): Hizi ni placeholders (alama za kuuliza). Zinaonyesha kwamba tutaingiza thamani fulani kwenye kila safu, lakini hatuziandiki moja kwa moja hapa.
data = (name, takenBy, quantity, location, price): Hapa tunatengeneza tuple yenye data tunayotaka kuingiza. Mpangilio wa data lazima ulingane na mpangilio wa ? kwenye query.
pointer.execute(query, data): Hii ndio sehemu muhimu. Tunamwambia pointer "tekeleza query hii na tumia data hii." sqlite3 inabadilisha alama za ? na data halisi kwa usalama.
connection.commit(): Amri hii inahakikisha mabadiliko (kuongeza data mpya) yanahifadhiwa kudumu kwenye database. Bila commit(), data haitaonekana.
connection.close(): Hii inafunga muunganiko ili kuhifadhi rasilimali.
Kazi hii inasimamia mchakato wa kupokea data kutoka kwa mtumiaji.
try...except: Hii inalinda msimbo wetu dhidi ya makosa. Kwa mfano, kama mtumiaji ataandika herufi badala ya namba kwenye quantity au price, int() itasababisha ValueError. Kizuizi cha except kitakamata kosa hili na kuchapa ujumbe unaoeleweka.
input(...): Hii inachukua taarifa kutoka kwa mtumiaji kupitia kibodi (keyboard).
InsertData(Name, TakenBy, ...): Baada ya kupata data, tunaipa kazi ya InsertData() ili iihifadhi kwenye database.
Mambo ya msingi kufahamu
Unapaswa kuelewa kwamba kuna hatua tatu muhimu za kufanya kazi na database:
Muunganiko na Cursor: Kwanza, unahitaji kuunganisha na database na kupata cursor.
Kutekeleza Amri: Pili, unatumia cursor kutekeleza amri za SQL kama INSERT.
Kuhifadhi Mabadiliko: Mwisho, unatumia commit() kuhifadhi mabadiliko na close() kufunga muunganiko.
VIDEO TUTORIALl: 👇
MWISHO:
Katika somo linalofuata tutajifunza namna ya kusoma data kutoka kwenye database yetu
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Karibu kwenye somo la sita! Leo tunajifunza UPDATE, amri ambayo inaruhusu kubadili au kusasisha data iliyopo tayari kwenye meza (table) yetu.Â
Soma Zaidi...Katika somo hili utaenda kujifunza namna ya kuunganisha mafaili mengi ya project na kuyaweka kwenye faili moja tu na kuweza kufikia faili zote kwa kupitia faili moja pekee
Soma Zaidi...Katika somo hili utakwenda kujifunza namna bora ya kufuta data kutoka kwenye database
Soma Zaidi...Katika somo hili tutaenda kujifunza jinsi ya kusoma (Read) data kutoka kwenye database yetu
Soma Zaidi...Katika somo hili tutajifunza utangulizi wa SQLITE na jinsi ya kuitumia katika python
Soma Zaidi...Katika Somo hili la nane utaenda kujifunza namna ya kuchambua data kwenye database yetu kwa kupata jumla ya kiasi cha fedha kilichokopwa
Soma Zaidi...Katita somo hili sasa tutaenda kujifunza namna ya kuunda table kwenye database ya SQLITE kwa kutumia Python
Soma Zaidi...Karibu ujifunze Python Sqlite na muunganiko wa Database (Database Connection)
Soma Zaidi...