MAFUNZO YA DATABASE


picha



MAFUNZO YA DATABASE SQL (MYSQL)
haya ni mafunzo ya DATABASE kwa kutumia software ya MYSQL. Katika mafunzo haya utajifunza namna ya kuthibiti taarifa kwnye database kwa kutumia software ya mysql. Pamoja na mafunzo ya php na html utaweza pia kuzitumia taarifa hizi moja kwa oja kwenye blog ama website yako.


Mafunzo haya yatakujia kupitia mfundishaji wako Mr. Rajabu kutoka bongoclass. Mwisho wa mafunzo haya utaweza kumilii database yeko ya online ambapo utaweza kuweka na kupata taarifa popote ulipo kutoka kwenye kifaa chochote kile. Kumbukacourse hii inakuji free kabisa bila ya malipo. Unachotakiwa ni kushiriki vyema tu.


VIGEZO VYA KUSHIRIKI MAFUNZO:
1. Uwe na simu janja yenye kiendeshi cha Android au uwe na kompyuta
2. Uwe mjanja
3. Una uzoefu wa kutumia software ama android App mbalimbali kama excel,
4. Uweze kusoma na kuandika angalau maneno marahisi ya kiiingereza kama create, drop, user, select, where, into, update, order na mengine yanayofanana na haya.


MAANDALIZI YA SOMO:
Ili kuweza kuendelea na somo hili hakikisha kuwa umesakinisha App zifutazo kwenye kifaa chako.
1. Kama unatumia simu AWEBSERVER tumia link hii https://play.google.com/store/apps/details?id=com.sylkat.apache

2. Kama unatumia kompyuta download wampserver ama xamp vyema ukaanza na xamp maana wampserver wakati mwingine inasumbuwa kwenye kuinstall kama kompyta haipo update.

Baada ya kufukia hapo utakuwa umeshamaliza maandalizi ya somo.


JINSI YA KUANZA:
KAMA UNATUMIA SIMU:
1. Funguwa App yako
2. Bofya start kuanza huduma ya server iwe active
3. Kwenye menu upande wa juu kuna kapicha kama suka sufuria kameandika Mysql bofya hapao.
4. Bofya start ili kuanza huduma
5. Utaona kulia mwa neno admin kuna link yenye sura hii 0.0.0.0:8080/mysqladmin
6. Bofya kwenye link hiyo
7. Utyaona kuna ukurasa ukekuja unakuhitaji kuweka user name na password
8. Username weka root na password weka root
9. Kisha bofya log in
10. Utafunguka ukurasa mpya ambao utaona neno database kwa juu.


Kama umefika hatuwa hii HONGERA somo letu la kwanza litaanzia hapo


KAMA UNATUMIA KOMPYUTA:
Kama unatumia xamp
1. Funguwa software ya xamp
2. Kutafunguka kiukurasa kadogo kenye menu.
3. Kwenye apache bofya start
4. Kwenye Mysql bofya start
5. Kisha kwenye Mysql bofya Admin
6. Utaona kuna ukurasa mkubwa umefunguka kwenye browser yako.
7. Neno databases utaliona kwa juu
8. Hapa utakuwa upo tayari kwa somo lijalo.


KAMA UNATUMIA WAMPSERVER
1. Ifunguwe hiyo software
2. Nenda kwenye tray upande wa kulia utaikuta ipo active
3. Right click
4. Kwenye menu bofya phpmyadmin
5. Ukurasa mpya utafunguka na neno database litaonekana kwa juu.
6. Kama umefuka hatuwa hii upo tayari kwa somo linalofata.



SOMO LA PILI:
LENGO LA MAFUNZO HAYA KWA UJUMLA:
Lengo la mafunzo haya ni kukuwezesha kutumia database kwenye bloga ama website yako. Pia uweze kutumia database kwa ajili ya Android App ama web App. Pia utaweza kutumia database kwa ajili ya kudhibiti taarifa zako.


Ni nini maana ya DATABASE?
Data base ni neno la kiingereza ambalo ukilileta kwa kiswahili ni mkusanyiko wa taarifa zilizopangiliwa na kuhifadhiwa na huweza kupatikana katika mfumo wa kielectronic. Taarifa hizi zinakuwa katika majedwali (table).

SQL ni nini?
SQL ni lugha ya kikompyuta ambayo hutumika katika udhibiti wa database. Lugha hii yenyewe hutumiaka kwenye server. Je unajuwa ni nini maana ya server? Pitia somo la kwanza mafunzo ya PHP.

SQL ni kifupisho cha maneno ;- Structured Query Language. Hii ndio lugha ya kikompyuta ambayo inahusika katika kuthibiti database kama kufuta taarifa, kuedit na kuongeza ama kupunguza.


Ni ni Databae management System (DBMS)
Hizi ni software ambazo zimetengenezwa kwa ajili ya kudhibiti taarifa kwenye database. Mifano ya software hizi ni kama:-
1. Ms
2. Sql server
3. IBM DB2
4. Oracle
5. MySQL
6. Microsoft Access
Software hizi ndizo ambazo zinatumia lugha ya SQL kwa ajili ya kutumia database. Chukulia mfano php ni lugha ya kikompyuta lakini haiwezi kufanya kazi mapaka kuwe na server pamoja na software ya php. Hivi ndivyo na SQL inafanya kazi kwenye server na inahitahi software.


MySQL
Katika masomo yetu haya tutatumia MySQL, kwa kuwa ni free, pa inatumiaka sana kuliko hizo nyingine. Pia ni rahisi kuitumia. Unaweza kuipata kwa kutumia simu ama kompyuta.

SQL inaweza kufanya nini?
1. Kusoma taarifa kwenye database
2. Kuweka taarifa kwenye database
3. Kufuta taarifa kwenye database
4. Kubadili taarifa kwenye database
5. Kutengeneza jedwali kwenye database
6. Kufyta majedwali kwenye database


Mahusiano ya PHP na SQL
1. PHP inatumika kwenye website kwa ajili ya kutumia SQL ili kufikia database.
2. Kwa watumiaji wa blog, post na koment zinakuwa kwenye database, hivyo itatumiaka PHP ili kuweza kutumia SQL ili kuzipata post ambazo zipo kwenye database na kufanya watumiaji wa blog waweze kuziona.
3. PHP pekee haiwezi kutumia database bila ya kuhitaji SQL
4. Kwa kutumia SQL unaweza kutumia MYSQL ili kuthibiti database bila hata ya kuhitaji PHP.


SQL na MySQL
Kwa watumiaji wa kawaida MYySQL inatosha kuitumia hata kama hijui SQL lakini ili kuweza kudhibiti vyema database utahitaji kuzungumza kwa lugha hii ya SQL kwenye MySQL ili kudhibiti database. SQL ni lugha ya kikompyuta kama ilivyo PHP lakini MySQL ni software ambayo hutumia SQL kwa ajili ya kudhibiti database.


Je wajuwa kuwa:
“Katika siku za mwanzoni mwa facebook ilihitaji PHP, SQL na MySQL kwa ajili ya kudhibiti database yote ya facebook”. kwa mchanganyiko wa HTML, JAVASCRIPT, CSS unaweza kufanya makubwa.


Tukutane somo la Tatu tutakapoanza kujifunza hasa kuhusu hiii SQL na sheria zake. Na vipi utaweza kuitumia. Hakikisha somo la kwanza umelipitia vyema na umeweza kuandaa kifaa chako vyema.


SOMO LA TATU

Matumizi ya MySQL katika database.
Naamini umeshajifunzakuwa MySQL ni software ambayo hutumika katika kudhibiti database yako. Pia ulishaweza kuandaa kifaa chako katika somo la kwanza. Katika somo hili nitakwenda kukujuza sehemu muhimu za MySQL na namna ya kutengeneza database yako.

Kama ulishawahi kutumia database ya microsoft office inayojulukana kama microsoft access, basi itakuwa rahisi kwako kutambuwa nini kinachotokea. Kama ndio mara yako ya kwanza kutengeneza database somo hili ni kwa ajili yako.

Je unajuwa kuwa:
Chati zetu zote za facebook, wasap na instagram zimehifadhiwa kwenye database? Itambulie kuwa karibia mbog zote hutumia database. Hivyo somo hili ni moja katikamasomomuhmu sana ya wewe kujuwa nini kinachoendelea katika mitandao, na vipi taarifa zako zinahifadhiwa.

FUNGUWA MySQL
Pitia tena somo la kwanza namna ya kufunguwa MySQL kwenye simu ama kompyuta kisha uendelee na somo hili.kama umeshafika ile hatuwa ya kuona neno database basi tutaanzia hapo.

1. JINSI YA KUTENGENEZA DATABASE:
Kama umeshaifunguwa MySQL utaona kuna menu hapo juu. Hiyo menu utaona ina items hizi
A. Databases
B. SQL
C. Status
D. User acounts
E. Export
F. Import
G. Setting
H. Replication
I. Variables
J. Charsets
K. Engines
L. Plugins

Hizo ndio sehemu kuu za MySQL ambazo zitakwenda kutumika. Katika somo hili la leo tutajifunza menu ya kwanza na ya pili tu tu ambazo ni Databases na SQL. Hii ndio sehemu ambayo utaanza kutengeneza database kabla ya kujifunza kutumia SQL.

2. Create database
Tuanze somo letu sasa na kutengeneza DATABASE. Kama ulivyoifunza ni kuwa database ni mkusanyiko wa taarifa zilizopangiliwa na zinafikiwa kwa njia za ki electronic. Sasa kwa mfano una blog yako na unataka kutengeneza database kwa ajili ya blog. Kita cha kwanza mi kutafuta jina la hiyo database yako. Utaiita vipi?

Tuchukulie mfano jina la database yetu ni mafunzo. Sasa hatuwa inayofata ni kutengeneza database inayoitwa mafunzo. Katika menu yako bofya neno database. Utaona kuna sehemu kumeandikwa create database. Kisha chini kuna kabox ndani kana neno database name. Hapo ndani weka jina la database yako, mfano utaweka mafunzo. Kisha bofya neno create.

Baada ya hapo utaona kwenye orodha ya database kuna database inayoitwa mafunzo. Katika ukurasa huo pia kwa juu utaona kuna neno structure, pia kuna neno lingine limeandikwa no table found. Chini yake kuna neno limeandikwa CREATE TABLE IF NOT EXISTS. Hizi zote tutakuja ziona somo lijalo.

Mpaka kufikia hapo umeweza kutengeneza database yako kwa kutumia menu ya database. Sasa hatuwa inayofata ni kufuta database. Ila kabla ya kufuta database tunakwenda kutengeneza database nyingine kwa kutumia menu ya SQL.

Ili kfanya hivi tunatakiwa tujuwe kwanza kuwa SQL ni menu ambayo itakuletea uwanja wa kuingiza code za SQL language. Kwa kutumia sql unaweza kutengeneza database kwa kuandika create database kisha unaweka jina la database yako kwa mfano post kisha utamalza na alama hii ; hivyo itakuwa hivi create database post;. Ukiweka maneno haya maana yake unaiambia MySQL kuwa itengeneze database ambayo inaitwa post.

Ok hebu tuanze saa.
1. Bofya SQL
2. Andika SQL statement ambazo ni:- CREATE DATABASE post;
3. Kisha bofya neno GO utaliona chini upande wa kulia
4. Baada ya hapo tadabase yako itakuwa ipo tayari angalia kwenye orodha ya dtabase.

Mpaka kufikia hapa tutakuwa na database mbili katika listi yetu. Katika somo la tatu nne tutakwenda kujifunza namna ya kufuta, na kubadili jina database yetu.



Mafunzo haya yamekujia kwa ihsai ya
Bongoclass.com
Web:bongoclass.com
Email: mafunzo@bongoclass.com





SOMO LA NNE
Katika somo hili la nne tutakwenda kujifunza mambo makuu matatu ambayo ni:-
1. Kubadili jina la database
2. Kufuta database
3. Kutumia SQL kufanya mabo hayo yaliyotajwa juu na mengineyo.

Kama ulishiriki mafunzo katika somo la tatu ulijifunza namna ya kutengeneza database kwa kutumia MySQL na kwa mutumia SAL command. Sasa katika somo hili tutakwenda kutumia database zetu mbili ambazo tulizitengeneza katika somo la tatu.

1. Kuona orodha ya database:
Hili ni jambo rahisi tu, baada ya kuingia kwenye MySQL, angalia menu yako, kisha bofya databases hapo utaona orodha ya database zote ambazo umetengeneza.

Sasa tunataka kufanya kitu kama hicho cha kuona orodha ta database kwa kutumia SQL language. Kufanya hivi fuata hatuwa hiz:-
1. Kwenye menu bofya SQL
2. Utakuja uwanja wa kuandika SQL hapo tumia command hii
3. SHOW DATABASES;
4. Baada ya hapo bofya neno GO lipo kwa chini pande wa kulia
5. Kumbuka kuwa katika kuandika SQL mwisho tunamalizia na hizo semicolon (;) kama ilivyo hapo juu.
6. Baada ya hapo utaona orodha ya database zote ulizotengeneza.

2. Kutumia database
Baada ya kuona orodha ya database zote hatuwa inayofata ni kuitumia hiyo database ama hizo database. Kutumia database maana yake ni kufanya hicho ambacho ulikusudia kwenye hiyo database kwa mfano kufuta, kubadili jiana ama kuweka data ama kuondoa na kubadili.

Kufanya hivi kwenye MySQL pia ni rahisi sana, unachotakiwa kufanya ni kubofya hiyo database yako. Ukishaubofya utaona umefunguka na kama kuna taarifa utaanza kuona majedwali yaliyopo.

Kufanya hivi kwa kutumia SQL pia ni rahisi, fuata hatuwa zifuatazo:-
1. Ingia kwenye uwanja wa SQL
2. Andika command hii
3. USE post;
4. Baada ya hapo bofya neno GO
5. Command yetu hapo ni USE na hiyo post ni database ambayo tayari ipo hivyo tunataka kuitumia. Command hiyo ni maneno ya kiingereza yanayoweza kufahamika kuwa ni kuiambai MySQL kutumia database inayoitwa post.
6. Mpaka kufika hapo utakuwa tayari kutumia database hiyo na unaweza kuifanya unachotaka.

3. Kubadili jina la database
Kwa kutumia MySQL baada ya kubofya hiyo database angalia kwenye menu tafuta neno oprrations, bofya hapo. Kisha tafuta palipoandikwa rename database to chini ya maneno hayo utaona kuna kabox. Kwenye hako kabox utaweka jina ambalo unataka kubadili. Kwa mfano database yetu inaitwa post sasa tunataka kuibadili jina kuiita makala.

Hivyo ingiza kwenye hicho kibox jina makala kisha bofya neno GO lipo upande wa kulia.kuna ujumbe utakuja unasema CREATE DATABASE makala / DROP DATABASE post hapo utabofya OK kukubali. Mpaka kufikia hapo utakuwa umemaliza kubadili jina na hapo database yako itakuwa imebadilika.

Kufanya hivi kwa kutumia SQL utatumia RENAME ila kwa sasa hatutajifunza kufanya hivi ni kwa sababu command hii iliondolewa kwenye MySQl kwa sababu za kiusalama. Hivyo utaendelea kutumia MySQL interface kubadili jina.

4. kufuta database
Kufuta database kwenye MySQL utakwenda kwenye operations kama ulivyofanya hapo juu. Kisha tafuta palipoandikwa Remove database chini ya hayo maneno utaona kuna maneno yanasomeka Drop the database (DROP) bofya hayo maneno kisha kuna ujumbe utakuja You are about to DESTROY a complete database! Do you really want to execute "DROP DATABASE `makala`"? hapo bofya OK kukubali. Kufikia hapo utakuwa umeifuta database yako na hutoweza kuirudisha tena lamda iwe umeshaifanyia backup.

Kufanya hivi kwa kutumia SQL fuata taratibu zifuatazo. Kwa kuwa database ya makala tumeifuta basi sasa tunakwenda kufuta ile ya mafunzo.
1. Ingia kwenye uwanja wa SQL
2. Andika command hii
3. DROP DATABASE mafunzo;
4. Kisha bofya GO
5. Hapo database ya mafunzo itakuwa imesha futika.

Kwa ufupi command ambazo zimetumika kwenye somo hili ni
1. Show databases hii ni kwa ajili ya kuona orodha ya databases
2. Use hii umetumika kutumia database
3. Drop database hii imetumika kufuta database
4. Create database hii imetumika kutengeneza database

Tukutane somo la tano tutakapojifunza Type of data in MySQL somo hili litakuwa ni muhimu sana na ni msingi hasa wa somo la sita. Pia kwa wale abao wanahitaji kujatumia database zao vilivyo wanatakiwa walifahamu vyema somo la tano.

Mafunzo haya yanakujia kwa ihsani ya
Bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com


SOMO LA TANO
TYPE OF DATA IN MySQL:
Somo hili linakwenda kukufundisha aina za taarifa ambazo unaweza kuzihifadhi kwenye database (type of data). Ili kuelewa maana ya hili somo, chukulia database kama storage yako au memori kadi. Sasa kwenye memori kadi utaweza kuhifadhi video, miziki, document na nyinginezo. Ila sasa kwa upande wa database huwezi kuhifadhi video, ama mziki au document kama pdf kama ilivyo kwenye memory card. Katika database kuna namna yake ya kuweza kuhifadhi hizi media file..

Hivyo ili kujuwa ni taarifa zipi sasa unaweza kuzihifadhi kwenye database? Kama video inaweza kukaa kwenye database na umejifunza kuwa blog zinatumia database vipi post ya blog itaweza kuwa na image ama video? Haya yote utajifunza katika mlolongo wa somo hili na yanayofata.

Aina za data kwenye MySQL database:
1. CHAR
2. VARCHAR
3. BINARY
4. VARBINARY
5. TINYBLOB
6. TINYTEXT
7. TEXT
8. MEDIUMTEXT
9. MEDIUMBLOB
10. LONGTEXT
11. LONGBLOB
12. ENUM
13. SET
14. BIT
15. TINYINT
16. BOOL
17. BOOLEAN
18. SMALLINT
19. MEDIUMINT
20. INT
21. INTEGER
22. BIGINT
23. FLOAT
24. DOUBLE
25. DECIMAL
26. DEC
27. DATE
28. DATETIME
29. TIMESTAMP
30. TIME
31. YEAR


Kabla hatujaziona data hizi na jinsi zinavyofanya kazi kwanza kuna mbambo hapa tunatakiwa tuyaweke wazi. Kwanza tunatakiwa tielewe maana ya charcter, utf, text, letter, unicode, non-unicode.

Katika uandishi jumla ya herufi, namba na alama za kiuandishi kama emoji, visitari, vinukta , alama za koma na kadhalika, jumla ya yote haya yanaitwa character. Mfano neno “hallo bongoclass!!!” hapa kuna jumla ya mane mawili ambayo ni halo na neno bongoclass. Lakini haya maneno mawili yana jumala ya character 21 ukijumlisha na hizo funga semi na fungua na space moja. Hivyo ukisikia character zipo hivi.

Sasa wanaposema character set ni seti maalumu ya hizo character ambayo hutumika katika kifaa cha kielectrinic ili kupeleka taarifa kutoka kifaa kwenda kingine. Kwa mfano unapoandika code. Kwa mfano katika visimu vya batani kama mtu akikutumia emoj haitaonyesha lakini utaona kuna viduara duara na vijialama. Hii ni kwa sababu character set inayotumika kwenye simu ya batani haiwezi kutafasiri baadhi ya character zilizotoka kwenye simu ya smart phone.

Hizi set zipo nyingi ila standard ambayo hukubali angalau character karibia zote, ila si zote ni UTF-8. hiki ni kifupisho cha maneno Unicode (or Universal Coded Character Set) Transformation Format – 8-bit.

AINA ZA DATA KATIKA MySQL
Aina hizi zimegawanyika katika makundi mengi hapa nitafafanua kwa uchache katika makundi matatu, ambayo ni namba, text, na tarehe.

1. Kundi la Text
Kundi hili linabeba data kama VARCHAR. Huu ni mkusanyiko wa character kuanzia 0 hadi 255. pia kuna VARCHAR yaani variable character hii hubeba character kuanzia 0 mpaka 65535. BINARY hii ni sawa na CHAR ila utofauti hii inakuwa na binary string. VARBINARY nayo ni sawa na VARCHAR ila hii hukusanya binary string. Kisha kuna TINYBLOB hii hukusanya taarifa za media file kama picha. Yenyewe inachukuwa character 255. media file haitahifadhiwa kama kwenye memori card ila utaiona kama vile ni mkusanyiko wa character ambazo zipo katika binary.

TINYTEXT hii hukusanya text zenye character mpaka 255. TEXT hii hukusanya taarifa mpaka character 65535. BLOB hii nayo hukusanya media file mpaka character 65535. MEDIUMTEXT hukusanya taarifa mpaka character 16, 777, 215. MEDIUMBLOB hii hukusanya BLOB mpaka character 4,294,967,295. ENUM hukusanya character mpaka 65535. yenyewe inabeba orodha ya vitu, yaani vitu vinakaa katika machaguo maalumu. Set yenyewe ni kama ENUM ila inakuwa na machaguo 64.

2. Kundi la namba
Hapa kuna BIT hii hubeba character mapka 64. lakini TINYINT hhubeba character mpaka 255. BOOL hii hubeba zero na nonzero. BOOLEAN ni sawa na BOOL. Zenyewe kukiwa na 0 maana yake false na kukiwa na isiyokuwa zero maana yake tue. Kisha kuna SMALLINT hubeba kuanzia 0 mapaka 65535.

Pia kuna MEDIUMTEXT hii hubeba character kuanzia 0 mpaka 16777215. INTEGER ni sawa na INT. BIGINT hubeba character mpaka mabilioni huko. FLOAT hubeba desimali na zile za vipeo zinaitwa power. Kuna DOUBLE inafanana na FLOAT. Pia kuna DEC ambayo ni sawa na DECIMAL.

3. Kundi la tarehe na saa
Hapa kuna DATE ambayo inahusu tarehe tu kuanzia mwaka 1000 mapak mwaka 9999. kisha kuna DATETIME hii hubeba tarehe na saa kwa pamoja. Kisha kuna TIMESTAMP saa na tarehe huhifadhiwa katika mfumo wa sekunde kuanzia mwaka 1970. kisha kuna TIME mabyo huonyesha time tu. Na ya mwisho ni YEAR anbayo huonyesha mwaka tu wenye character 4.

Data hizi zinaweza kupunguwa amba kuongezeka kulingana na software iliyotumika. Unaweza kukuta baadhi ya data za hapa hazipo kwenye software ntingine. .

Unawez akujiuliza asa hizi aina za data nitazitumia vipi. Usijali somo linalofata tutakwenda kutengeneza table yaani majedwali kwa ajili ya kuwekea taarifa kwenye database. Kufanya hivyo itatubidi tujuwe aina ya data ambazo tutaziweka kwenye majedwali hayo.


Mafunzo haya yanakujia kwa ihsani ya Bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com



SOMO LA SITA
Katika somo la tano tuliona aina za data ambazo tunakwnda kuzitumia kwenye DATABASE hivyo katika somo hili tutakwenda kuona jinsi ya kutengeneza jedwali au table kwa ajili ya kuhifadhia data.

Kabla ya kuanza somo nataka uelewe vyema tunaposema tadatase table tunamaanisha nini hasa. Kama umeshawahi kutumia microsoft access bila shaka umetambuwa namna ambavyo table inavyofanya kazi. Kama ndio kwanza osijali , somo hili ni kwa ajili yako.

Kwanza chukulia mfano una excel document yako, ambayo ina majina ya wanafunzi na ya wazazi wao. Hivyo utahitaji kuwa na colum kama tatu hivi. Colum ya kwanza ni namba, ya pili ni jina la mwanafunzi na ya tatu ni jina la baba. Sasa excel yako mathalani itakuwa na wanafunzi 45 hivyo kwenye colum ya namba itaanzia moja hadi 45 kwa kulingana na idadi ya wanafunzi. Na hivyo hivyo colum ya majina nayo italingana na namba. Sasa faili kama hili kwenye database ndio huitwa table.
Yaani kwa ufupi table tunaweza taarifa ambazo zinafanana kwenye database. Mfano database ni ya shule ina madarasa. Hivyo kila darasa utaliandikia table yake, ambayo mfano wake ni sawa na kuwa na kila darasa na faili lake la excel ila zote ni za wanafunzi wa shule ambalo ndio itakuwa database yako.


Wacha nikupe mfano mwingine huwenda ukafahamu zaidi. Chukulia tunataka kuhifadhi post zetu kwenye database. Hivyo tutatakiwa ktengeneza table ambayo itakuwa na namba ya post, kichwa cha habari cha post, muhtasari wa post, maudhui ya post, picha, aliyechapisha na tarehe. Wacha nikwambie kitu, angalia post kwenye blog utaona zina vitu hivyo, tarehe, aliyechaposha, muhtasari, maudhui yenyewe, na kichwa cha habari.

Sasa taarfa kama hiyo tutahitaji kuwa na table ambayo itahifadhi taarifa hizo kwa kila post. Kwa mujibu wa mfano huo table yetu itakuwa na colum 7. hizi kwenye database wakati wa kutengeneza table tutaziita field. Hivyo tunaasema table yetu itakuwa na field 7. ili tupunguze urefu wa maneno wacha tutumie kingereza. Field zetu ni id, titlle, summary, content, image, publisher, date.

Ufupi wa maneno ni kuwa ndani ya database taarifa huhifadhiwa kwenye table. Hivyo database moja inaweza kuwa na table hata 100 ama zaidi. Na kila table huhifadhi taarifa zinazofanana ndio maana zinawekwa pamoja. Ok sasa somo letu litakwenda kukufundisha namna ya kutengeneza hizo table.

Jinsi ya kutengeneza table kwenye MySQL
Hapa tutatumia MySQL na pia tutatumia SQL command. Jambo la kwanza unalotakiwa ulijuwe ni kuwa utambuwe aina za data zako unazotaka kuziweka pia ujuwe length ya kila data je unataka ihifadhi character ngapi. Kama tulivyoona katika somo lililotangulia kuwa kila aina ya ata ina idadi ya character zake.

Kwanza tengeneza database na iite blog. Baada ya hapo ifunguwe hiyo database utaona kunasehemu pameandikwa CREATE TABLE IF NOT EXISTS. Darasa letu litaanzia hapo. Kama umefika hapo fuata hatuwa zifuatazo:-
1. Funguwa database
2. Utaona sehemu pameandika CREATE TABLE IF NOT EXISTS na jini kuna kabosi
3. Weka jina la table hapo weka post
4. Kuna palipoandika number of columns hapo weka 7 idadi ya colum zetu kama ilivyo kwenye maelezo hapo juu
5. Bogya GO

6. Utaona ukurasa mpya ambao una vijumba vingivingi lakini ukivihesabu kwa kwenda chini utaona ni 7 kama ulivyoweka hapo mwanzo.

7. Cheki kuna palipoandika name kisha msururu wa vijumba unafata kuelekea chini. Hapo unatakiwa ujaze majina ya kila colum kulingana na maelezo ambayo tumeona hapo juu. Hivyo tutajaza kuanzia na id, kisa kijumba kinefuata ni title kisha kinachofuata ni summarty kisha kinachofuata utajaza contente, kisha ujtajaza image kisha publisher kisha date.

8. Kisha angalia juu kulia kwa name kuna type. Hapo utajaza kila colum ulioandika jina unataka uchukuwe data za aina gani? Kwa mfano id kwa kuwa inaonyesha namba za post hivyo itakuwa inachukuwa data za namba ambazo ni INT. Title kwa kuwa ni herufi hii unaweza kuipa VARCHAR, kisha summary hii kwa kuwa ni text na zinaweza kuwa nyingi zipe MEDIUMTEXT. Halafu content kwa kuwa ni text ambazo zinaweza kuwa nyingi ipe TEXT, kisha image hapa kama utaupliad kupitia database ipe blob, ila kwa sasa hatutafanya kitu hizo tutatumia link ya image hivyo ime VARCHAR. Kisha publisha pia ni herufi na ni chache sana ipe CHAR. Kisha kwenye date ipe DATE.

9. Jaza kwa umakini taarifa hicho kwa kuchaguwa kutoka kwenye kibosi. Hakuna sehemu ya wewe kuandika.

10. Kisha pembeni ya type kule juu utaona palipoandikwa Length/Values hapa sasa utajaza idadi ya character unazotaka zikae kwenye kila colum. Hapo kwenye INT weka hata 10, character za namba zikiwa 10 ni linamba kubwa sana chukulia mfano 1000,000,000 hizi character zipo 10 hii ni bilioni moja, hivyo length ya character 0 ni kubwa sana ambapo sio rahisi kuijaza. Kwenye title ekwa 255 ambapo character 255 ni title kubwa sana. Mfano bongoclass neno hili lina character 10 tu. Kwenye summary na content wacha hivyohivyo maana ni vigumu kukadiria , lakini ukitaka unaweza kuweka hata 5000. kwenye image hapo kwa kuwa tutatumia link za image unaweza kuweka hata 255, kwenye publisher weka hata 100. na kwenye date wacha kama palivyo.
11. Jaza hizo taarifa vyema kabisa

12. Juu pembeni ya length utaona kuna palipoandikwa default, hapo utajaza kama kuna taarifa unataka ziwepo tayari. Kwa sasa waccha kama palivyo. Pembeni ya default kuna palipoandika coalition hapa unakwenda kujaza taarifa kuhusu character set ipi unataka itumke kwa kila colum. Kwa sasa wacha kama palivyo yenyewe itajaza UTF-8 ambayo ndio standard. Kisha pembeni tena kuna palipoandikwa attributes hapa utaweza attrubutes za kila colum kwa saa wacha kama palivyo. Kisha pembeni kuna null na index pia wacha kama palivyo. Hapa pendewe panaangalia kama kuna colum unataka ziwe NUll na index kama unataka ziwepo kwenye search.

Pembeni tena kuna A_I maana yake autoincrement. Hizi ni taarifa ambazo zitakuwa zinajijaza automatiki. Kwa mfano ID yenyewe kwa kuwa nni namba ya kila daatifa hivyo unaweza kuweka ijijaze yenyewe. Kama ndivyo basi weka tiki kwenye kijumba kidogo chani nywenye colum ya id, hapo chini ya neno A_I. kisha pembeni kuna comments hapo utaweka comment kuhusu hiyo column.

13. Kufikia hapo utakuwa umeshajaza taafifa muhimu hivyo bofya SAVE ipo kwa chini.
14. Mpaka kufikia hapo table yako itakuwa imesha tengenezwa.

KUTENGENEZA DATABASE TABLE KWA KUTUMIA SQL
Sasa nitakufunsisha namna ya kutengeneza table kwa kutumia SQL. Tutakwenda kutengeneza table yenye jina menu. Hii ni menu ya blog yetu, au category ya blog tutakayoitengeneza. Hivyo fuata hatuwa zifuatazo:-
1. Ingia kwenye uwanja wa SQL
2. Andika CREATE TABLE IF NOT EXISTS
3. Kisha weka jina la table ambalo ni menu hivyo itakuwa hivi
4. CREATE TABLE IF NOT EXISTS menu
5. Kisha weka mano ( ambapo itakuwa hivi
6. CREATE TABLE IF NOT EXISTS menu (
7. Ndani ya bano tutaweka majina ya colum pamoja na character length. Sasa tujaalie table yetu itakuwa na column 2 tu ambazo ni id na title. Id ni kwa ajili ya kuorodhecha item kwenye menu na title ni uonyesha jina la item. Lenth za character zitakuwa ndani ya mabano kisha kufuatawa na alama ya koma. Ukimaliza utafunga bano kuu la mwanzo kisha utamaliza na alama ya semicoloni (;) Angalia mfano wake hapo chini
CREATE TABLE IF NOT EXISTS menu (
id int (10),
title varchar(255)
);

8. Ukimaliza bofya GO
9. Kufikia hapo utakuwa umeshatengeneza table mpya inayoitwa menu kwenye database yake. Hivyo database yetu ya blog ina table 2 ambayo ni post na menu.

Somo linalofata tutakwenda kujifunza namna ya kufuta table na kuedidi pamoja na kuingiza data kwenye database. Hivyo hakikisha somo hili umelielewa kabla ya kuingia somo linalofata.


Mafunzo haya yanakujia kwa Ihsani ya BONGOCLASS
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com


SOMO LA SABA
Katika somo lililotangaulia tumejifunza namna ya kutengeneza table. Sasa katika somo hili tutajifunza jinsi ya kuedit jina la table, kufuta. Tutafanya haya kwa kutumia MySQL na kwa kutumia SQL command. Kabla hujaanza somo hili tengeneza table nyingine kisha iite text. Table hiyo ndio tunakwenda kuifanyia mazoezi ya kuiedit jina na kuifuta. Fuata maelekezo ya somo lililotangulia kutengeneza table.

1. Jinsi ya kubadili jina la table kwenye MySQL
Tunabadili jina kwa sababu maalumy, huwenda jina la mwanzo ni gumu sana ama haliendani na data ambazo zipo kwenye database. Ama linafanana na table nyingine ambayo unataka kuitengeneza. Ili kufanya hivi yaani kubadili jina fuata hatuwa zifuatazo:-
1. Tengeneza Table kwa kutumia command hii
CREATE TABLE IF NOT EXISTS test (
id INT,
name VARCHAR (255),
aka VARCHAR (255)
)

2. Bofya hiyo table itafunguka utaona hizo column ambazo umetengeneza.
3. Ingia kwenye operations
4. Kwenda chini hadi ukute palipoandika table options
5. Chini utaona palipoandikwa Rename table to na mbele yake kuna kabox.
6. Kwenye kabox hako weka jina unalotaka lisomeke kwenye table yako mfano tutumie jaribio, hivyo futa jina la mwanzo kisha weka jaribio hapo
7. Bofya GO
8. Mpaka kufika hapo jina la table yako litakuwa limebadilika kuwa jaribio


2. Kubadili jina la table kwa kutumia SQL command
Sasa kama huhitaji kutumia MySQL interface kufanya hivyo unaweza kutumia SQL fuata hatuwa zifuatazo:-

1. Funguwa uwanja wa SQL
2. Kubadili jina tunatumia RENAME TABLE au ALTER TABLE kisha inafatiwa na jina la mwanzo ambalo ni jaribio kisha unaandika to kisha unaweka jina jipya mfano test. Statement hii itakuwa hivi
3. RENAME TABLE jaribio to test;
4. Pia unaweza kutumia hii kubadili jina ALTER TABLE test RENAME to jaribio
5. Baada ya hapo bofya GO
6. Kufikia hapo utakuwa umebadili jina la table yako.

3. Kubadili jina la column
Chukulia unataka kubadili jina la column lmfano katika katika table hiyo tuliotoka kuirename ina column tatui mabzo ni id, name na aka. Sasa tunataka kubadili name tuweke firstname badala ya kuwa nme. Kufanya hivi kwa kutumia MySQL fuata hatuw zifuatazo:-

1. Bofya hiyo table
2. Bofya palipoandika structure
3. Utaona column zote tatu zipo hapo
4. Kwa upande wa kulia kwa kila column kuna palipoandikwa change. Bofya hapo
5. Kutakuja ukurasa wenye vijibox vingi
6. Tafuta kibox kilichoanikwa name
7. Futa name kisha andika jina unalotaka kubadili mfano firstname kumbuka hakuna kuruka nafasi katika kuandika majina.
8. Bofya neno save lipo upande wa kulia
9. Mpaka kufika hapo utakuwa umeweza kubadili jina la column.
10.

4. Kubadili jina la column kwa kutumia SQL
Tofauti na kupitia hatuwa hizo nyingi kwa kutumia SQL unaweza kubadili kwa haraka zaidi. Kufanya hivo fata hatuwa zifuatazo:-
1. Ingia kwenye uwanja wa SQL
2. Kubadili jina tunatumia ALTER TABLE kisha inafata jina la table unalotaka kubadili kisha unaandika neno CHANGE kisha unafata column unayotaka kubadili halafu unafata kuweka jina ambalo unataka iwe, kisha utamaliza na kuandika type yake ya data kisha utaweka na character length yake iwe ndani ya mabao. Mfano wa statement hi kama hii
3. Katika table yako ya jaribio kuna column inaitwa aka sasa tunakwenda kuibadilisha kuwa nickname.
4. ALTER TABLE jaribio CHANGE aka nickname VARCHAR(255);


5. Kuongeza column kwenye table
Sasa kuna jambo hili. Baada ya kutengeneza table kumbe ukahitaji kuongeza column. Let say kwa mfano katika table yetu ya jaribio kuna column tunataka kuiongeza kwa ajili ya kkuweka namba za simu. Na tunataka kuiita phone. Kufanya hivi fata hatuwa zifuatazo kwa kutumia MySQL:-
1. Bofya hiyo table yako.
2. Bofya structure
3. Shuka chini tafuta palipoandikwa Add utaona kulia kuna kabox ndani kuna namba moja. Hapo utaamuwa je unataka kuongeza column ngapi kama ni mbili utaweka mbili. Ok kwa saa wacha hiyo moja
4. Kisha bofya GO
5. Ukurasa mpya utafunguka na hapo utatakiwa kujaza taarifa kama ulivyojifunza kwenye somo la sita.
6. Kwenye jina utaweka phone, kwenye type utaweka INT kwani type ya data hapa ni namba, kwenye length weka 15
7. Bofya save
8. Mpaka kufika hapo table yako ya jaribio itakuwa na column nne ambapo hii ya phone imeongezeka.


6. Kuongeza column kwa kutumia SQL
Sasa tunakwenda kuongeza column nyingine ambayo tutaiita jinsia. Tutakwenda kutumia SQL kufanya haya. Hivyo baada ya hapa table yetu itakuwa na column 5. fata hatuwa zifuatazo:-
1. Funguwa uwanja wa SQL
2. Kuongeza column tunatumia ALTER TABLE kisha jina la table kisha ADD kisha column unayotaka kuongeza kisha type of data ilifuataiwa na character length kwenye mabano. Kisha utatakiwa kusema kuwa column hiyo itakuwa baada ya column ipi. Hapa utatumia after. Kwa mfano katika mfano wetu itakuwa after nickname Kisha alama ya ; hivyo statement hii itaonekana hivi
3. ALTER TABLE jaribio ADD jinsia INT(15) AFTER nickname;
4. Bofya GO
5. Mpaka kufuka hapa utakuwa umeongeza column nyingine ya tano.


6. Kufuta column kwa kutumia MySQL
Sasa unataka kufuta moja ya colun baada ya kuona haina kazi. Kufanya hivi ni rahisi sana . fanya hivi:-
1. Bofya table
2. Bofya structure
3. Utaona column zote
4. Kulia mwa kila column kuna neno limeandikwa Drop
5. Bofya hilo neno kulia mwa column unayotaka kuifuta kwa mfano bofya hapo kwenye nickname
6. Kabox ka alert katakuja kuuliza kuwa je unataka kufuta kweli. Wewe piga Ok
7. Mpaka kufikia hapo utakuwa umefuta column hiyo.


8. Kufuta column kwa kutumia SQL
Kufuta column kw akutumia SQL. Kufanya hivi kwa command za SQL fuata hatuwa hizi:-
1. Ingia kwenye uwanja wa SQL
2. Kufanya hivi tutatumia ALTER TABLE kija litafuata jina la table ambalo ni jaribio. Sasa tunakwenda kufuta column ya phone. Hivyo baada ya kuandika jina la table andika neno DROP likifuatiwa na column ambayo unataka kuifuta ambayo ni phone kisha maliza na alama ya ; hivyo itasomeka hivi
3. ALTER TABLE jaribio DROP phone;
4. Bofya GO
5. Utatakiwa kuthibitisha weka OK
6. Mpaka kufika hapo utakuwa umeifuta colunm ya phone.


Tukutane somo la nane tutakapojifunz ajinasi ya kuweka data kwenye database. Hakikisha kablya ya kuingia somo la nane somo la sita umelielewa vyema vinginevyo utasumbuka.


Mafunzo haya yamekujia kwa ihsani ya Bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com



SOMO LA NANE
Katika somo lililotangulia tumejifunz namna ya kubadili jina kwenye table pia tukaona kuongeza column. Sasa katika somo hili hasa ndipo tunakwenda kuweka data kwenye table yetu, yaani kuweka data kwenye database. Katika somo hili tunakwenda kutumia ile table tulioiita post.

1. Kuweka data kwenye table kwa kutumia MySQL
Kama tulivyofanya kwenye masomo yaliyotangulia kuwa tunatumia MySQl kisha tunatumia SQL statement hivyohivyo ndivyo tutakavyofanya kwenye somo hili.Ili kuweka taarifa kwenye database yako fuata hatuwa zifuata:-

1. Fifya hiyo table yenye jina post
2. Kwenye menu juu bofya neno insert
3. Ukurasa wenye vijumba vingi utafunguka
4. utaona kuna column zile ambazo tumetengeneza aina zake za data na character leght. Sasa wewe unachotakiwa ni kutafuta palipoandikwa value chini yake kuna hivyo vijumba.
5. Angalia mpangilio wa hiyo menu. Imeanza column, kisha type kisha Function kisha Null kisha Value.
6. Hivyo utaangalia kwenye column kama ni Id utaweka value yake kwenye kijumba cha value. Weka namba moja kwenye id
7. Angalia kwenye column baada ya id inafata title nenda upande wa kulia kwenye value weka jina la kichwa cha habari cha post yako mfanp “mafunzo ya html”
8. Angalia column nyngine ambayo ni summaery kwenye value weka mhutasari wa ppost yako mafano “post hii itakwenda kukujuwa maana ya HTML”
9. Cheki tene kenye column inafata content hapo weka maudhui ya post yako mfano “HTML ni kifupisho cha Hypertext Markup Language”
10. Kisha kwenye image weka link ya picha yako mfano unaweza kutumia link hii “https://bongomakataba.web.app/images/sampo.png”
11. Kwenye publisher weka jina lako mfano “Bongoclass”
12. Kwenye date angalia kwenye value utaona kajialama ka kalenda kadogo bofya hako kisha bofya tarehe ya leo utaona imekaa.
13. Kisha bofya GO.
14. Mpaka kufika hapo utakuwa umeongeza data. Kwenye menu juu bofya browser utaona post yako.
15. Baada ya hapo ingia kwenye structure
16. Kwenye column ya id kulia bofya change kama vile unataka kuiedit
17. Angalia kwenye A_I au autoincement kama pana tiki, kama hapana weka tiki kisha save, kama ipo rudi nyuma.
18. Angalia kwenye column ya edit kuliani mwa neno change kuna neno linasomeka more bofya hapo kisha kwenye menu itakayokuja bofya unique, kuna kaujumbe katakuja weka ok
19. Kuipa column unique maana yake tunataka isifanane datazake. Kwa mfano kama post ina id 1 isitokee nyingine ikawa na namba hiyohiyo.
20. Rudi kwenye browser.
21. Utaona post yako uliyoweka pamoja na menu nyingine kama edit na nyinginezo.
Fanya hivi kuweka posta zaidi na kwenye menu weka menu inayoitwa afya.

2. Kuweka data kwenye table kwa kutumia SQL
Sasa tunakwenda kuongeza data kwenye table yetu menu. Tujaalie tunataka kuweka menu ya afya kwenye blog yetu sasa tunakwenda kuongeza menu ya afya.

Kwanza tuedit table ya menu nayo iwena unique kama tulivyofanya kwenye post. Hivyo ingia kwenye structure, kwenye id bofya change, angalia kwenye Null kama kuna tiki ondoa, angalia kwenye A_I kama hakuna tiki weka, kisha save.

Kwenye id tenda pembeni ya change bofya more, kisha unique kisha kwenye kaujumbe utakaokuja bofya OK.

Kisha edit na hiyo title ingia change kwenye null ondoa tiki kisha save. Baada ya hapo table yetu tutakuwa tumeiandaa vyema kwa ajili ya kutumia SQL kwa urahisi kabisa. Sasa ili uweze kuweka data kwa kutumia SQl fuata hatuwa hizi:-

1. Ingia kwenye uwanja wa SQl
2. Ili kuweka data kwa kutumia SQl huwa tunatumia INSERT INTO kisha jina la table kisha weka mabano na ndani yake utaandika majina ya column mfano id na title utatenganisha kwa kutumia alama ya koma (,) ila neno la mwisho halina koma kisha utafunga mabano. Baada ya hapo ni kuweka value, value maana ya ke ni thamani, aua hicho unachotaka kukiweka kwenye hiyo column. Value nayo itakuwa ndani ya mabano kwa kulingana na mabano ya mwanzo.
3. Yaani thamani ya id itaana kisha itafata thamani ya title. Hivyo itasome ka kama:-
4. INSERT INTO `menu` (`id`, `title`) VALUES (NULL, 'afya'); hapo kwenye null kule itaweka namba yenye kwa kuwa umeiambia kwenye A_I. ila ukitaka unaweza kuweka namba wewe mfano
5. INSERT INTO `menu` (`id`, `title`) VALUES (4, 'afya');
6. Mpaka kufikia hapo utakuwa umeongeza menu ya afya kwenye table yako.
7. Fanya hivi kuongeza menu zaidi.

3. Kuedit na kufuta data kwenye table
Kuedit data kwenye MySQl rahisi sana. Kwanza bofya hiyo table mfano post. Kisha bofya browser utaona data zako.utaone katika kila row yako ya data kuna neno edit na delete. Unachotakiwa kufanya ni kubofya edit ama delete. Ukibofya delete maana yake unafuta. Na ukibofya edit maana yake utaedit.ukimaliza kuedit bofya neno GO na hapo data yako itakuwa imebadilika.

Pia MySQL inakupa fursa ya kuedit humohumo huku tunaita inline edit. Unachotakiwa kufanya kama unataka kuedit column ya conten bofya hapo, kwenye data yenyewe ya kontente yaani maandishi ambayo umesha andika. Baada ya hapo utaona kamsitari ka kuonesha sasa unaweza kuedit. Hakuna haja ya kusave ukiodoka tu hapo itasave automatik. Ama unaweza pia kubofya pembeni ambapo hapana maandishi itasave yenyewe automatiki.

4. Kufuta ama kuedit kwa kutumia SQL
Kwa kutumia SQL pia unaweza kufuta data kwenye database ama kuedit. Ila jambo hili tutajifunza katika masomo yanayofuata kwa sasa tuendelee kutumia MySQL interface kufanya haya.

Somo linalofuata tutajifunza namna ya kusoma data kwenye database. Kazi yako kwa sasa kablya ya kuingia somo lijalo ni kuhakikisha kuwa umeweka data nyingi zaidi kwenye table zako. Unaweza kupost posta 5 kwenye dabke ya post na menu hivyo hivyoo ama zaidi ya hapo.


Mafunzo haya yamekujia kwa Ihsani ya bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com



SOMO LA TISA.
Katika somo hili la tisa tutakqenda kuona namna ya kutumia database. Somo hili tutajifunza jinsi ya kusoma data kwenye database. Hapa tutaona jinsi ya kutumia command kama:-
1. Select
2. limit

Somo hili ni msingi mzuri sana kwa masomo yajayo. Somo hili tutakwenda kutumia sana uwanja wa SQL tofauti na masomo yaliyotangalia ambapo tulikuwa tukitumia MySQL interface na SQL .


Maandalizi ya somo la tisa:
tengeneza database yemye jina hoteli kisha tengeneza table yennye jina menu ama pest code hizi kwenye uwanja wa sql:-
CREATE TABLE IF NOT EXISTS `menu` (
`id` int(100) NOT NULL,
`name` varchar(255) NOT NULL,\\
`description` varchar(255) NOT NULL,
`price` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


Kisha jaza data kwenye table yako. Unaweza kupest data hizi kwenye uwanja wa sql:-

INSERT INTO `menu` (`id`, `name`, `description`, `price`) VALUES
(1, 'ugali', 'Pata ugali na mchuzi, ama ugali na nyama ama ugali na samaki. Ugali wa mahindi na muhogo', 1500),
(2, 'Wali', 'Pata waki na mchuzi, ama wali na nyama ama wali na samaki.', 2000),
(3, 'chai', 'Pata chai maandazi, chapati, ndizi, na supu', 3000),
(4, 'internet', 'Pata huduma za internet free huku ukijipatia chakula hapa, utalipia kila nusu saa utakalotuia', 700),
(5, 'simu', 'Pata huduma za simu bre huku ukijipatia chakula hapa, utalipia kila nusu saa utakalotuia', 1200),
(6, 'ushauri', 'Tunatowa huduma za ushauri nasaha, utalipia kwa kila nusu saa utakaloluwa unapewa ushauri', 1000),
(7, 'huduma za Afya', 'Hapa utapata huduma za afya za awali kama bipimo vya uti, malaria, mimba na vinginevyo. utalipia kwa kila kipimo', 5000),
(8, 'Mapishi', 'pia tunatowa mafunzo ya mapishi kwa gharama nafuu. Utalipia kwa kila nusu saa utakalokuwa unafundishwa.', 9500),
(9, 'matanazo', 'Pia tunatowa matangazo mbalimbali kuwapatia waeja wetu. utalipia kwa kila tangazo litakapotagazwa', 25000),
(10, 'maji ya kunywa', 'huduma hii itatoka kwa gharama nafuu. utajipatia maji ya kunywa baridi. Utalipia kwa kila glasi', 300);

Baada yahapo utakuwa upo tayari pamoja nami katika somo hili la tisa katika mafunzo ya database kwa kutumia software ya MySQl.

1. Kusoma taarifa (data) zilizopo kwenye database
Hapa tunatumia command ya SELECT. Lakini pia tunaweza kutumia MySQL interface kufanya hili. Hapa nitaanza kukuonyesha namna ya kutumia MySQL intrface.

A. Kusoma taarifa kwenye database kwa kutumia MySQL interface.
1. Kwanza bofya database yako hoteli
2. Kisha tfuta neno lililoandikwa Browse bofya hapo utaona data zote zilizopo.
3. Utaweza kufanya mengine utakayotaka kama tulivyojifunza kama kufuta, kuedit ama kufanya chochote.

B. Kusoma taarifa kwenye database kwa kutumia SQl
1. Bofya database yako
2. Imgia kwenye uwanja wa SQl
3. Andika SELECT kisha weka * kisha weka FROM kisha weka jina la table yenye hizo data kisha weka ; itaonekana kama hivi:
4. SELECT * FROM `menu`
5. Kisha bofya Go
6. Utaona taarifa zote kwenye hiyotable zimeorodheshwa chini.
7. Hiyo nyota hapo inamaana all yaani select all. Ndio maana hapo data zote zimetokea.

Kwa kutumia mfano huo hapo tumechaguwa data zote. Sasa chukulia mfano unataka kuona majina tu ya menu na si gharama na maelezo meengi. Kufanya hivi utahitajika kutaja hivyo unachotaka kukiona pale tulipoweka nota: Mfano:-

Table yetu inaitwa menu. Na ina column kama name, descriptions, na price. Sasa hapa ninataka kusoma column ya name tu. Hapa tutatumia command hii
SELECT name FROM `menu`;

Utaona hapo pale kwenye nyota ambapo ilimaanisha All data tumeitowa na kuweka name kwa maana tunataka kuona name tu na si data zote. Hapo ukibofya Go ukurasa utakaokuja ni wa name tu. Kwa kufanya hivi utaweza kuchaguwa chochote kwa mfano:
1. SELECT description FROM `menu`; hii itakuletea description tu
2. SELECT price FROM `menu`; hii itakuonyesha price tu
3. SELECT id FROM `menu`; hii itakuonyesha id tu

Pia unaweza kuchaguwa viwili ama vitatu. Yaani kwa mfano ninahitaji kuonyesha name na price tu sitaki kuona maelezo meengi. Kufanya hivi utatengenisha kwa kutumia koma (,) ila neno la mwisho halitakiwi kuwa na koma.

Sasa tuseme tunataka kusoma name na price tu yaani utaona majina ya menu na gharama zake. Kufanya hivi tutatumia command hii:-
SELECT name, price FROM `menu`; ukibpfya Go utaoona rodha ya majina ya menu na gharama tu. Kwa kufanya hivi utaweza kubadili chohote hapo ama hata ukitaka kuta vyote mfano SELECT name, price, description FROM `menu`;

Taarifa zako zitajipanga kulingana na ulivyoandika wewe hizi command na sio kulingana na mpangilio wake kwenye database. Mfano kwenye database kilichoanza ni id kisha name kisha description kisha price. Sasa sisi tunataka kupangilia ianze gharama kisha id kisha description kisha name. Weka command hii SELECT price, id, description, name FROM `menu`; ukibofya go hapo data zitajipanga hivyohivyo kama ulivyoandika.


2. Kulimit kiasi cha taarifa
Hii ina maana kuwa chukulia mfano table yako ina orodha ya row 1000 za data na wewe huna huo muda wa kusoma zote. Hivyo utahitaji lamda kusoma kwanza 20 za mwano ama ishirini za mwisho. Kufanya hivi tutatumia LIMIT kisha tutaweka idadi ya row unazotaka kuzisoma kwa mfano kama 4 utaweka LIMIT 4.

Mfano tunataka kusoma name na price ila tunataka zionekane row 20 hpata tutaweka command hii:-
SELECT name, price FROM `menu` LIMIT 4 hapo ukibofya Go utaletewa orodha ya row nne tu. Unaweza kutumia mfano huu kwa command nyingine. Mfano
1. SELECT name FROM `menu` LIMIT 6;
2. SELECT price FROM `menu` LIMIT 7;
3. SELECT * FROM `menu` LIMIT 8;


Katika somo linalofata tutajifunza namna ya kupangilia hizo orodha za data. Mfano unataka zijipange kutoka yenye price kubwa kwenda ndogo, ama zijipange kutoka A to Z ama zijipage random. Command tutakayokuja kuitumia ni ORDER BY hivyo nakusihi usikose somo la 10.

NB: course hii itakusanya masomo 12 tu, kabla ya kuingia course ya pili. Level hii hatutakuwa na project. Ila natumai tutakuwa pamoja level ya pili ambapo utapata fursa ya kufanya project nasi:


Mafunzo haya yamekujia kwa Ihsani ya bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com
SOMO LA 10
Katika somo la 9 tuliona namna ya kutumia database yaani kusoma taarifa kwenye database kwa kutumia SQL. Katika somo hili tutajifunza namna ya kupangilia data zako yaani sorting data kulingana na mahitaji yako. Hapa tutakwenda kutumia command kama WHERE, ORDER BY, AND, OR, ASC, DESC, RAND(). pia katika somo hili tutatumia sana SQL kama tulivyofanya katika somo lililopita:-


Katika somo hili tutatumia database yetu yenye jina hotel na table menu. Hivyo tutakwenda kujifunza somo letu kwa kutumia database hii.

1. Kupangilia data kutoka kubwa kwenda ndodo
Katika SQL unapotaka kupangilia data kuwa zionekane kwa mpangilio upi tunatumia ORDER BY kisha unakuja kuweka hiyo column ambayo unataka iangaiwe. Kisha unakuja kuweka huo mpangilio wako, kama ni kuanzia kubwa kuja ndogo hapo tutatumia DESCENGING order ambapo kifupi chake ni DESC. Baada ya hapo unaweza kutumia LIMIT kama tulivyoona katika somo lililopita.

Mfano:
Katika menu yetu tunataka zijipange kutoka chakula chenye gharama kubwa kuja chakula chenye gharama ndogo. Hvyo kama tulivyoona katika somo lililopita utatumia select kama ni coumn zote utaweka * kisha from kisha jina la table kisha ORDER BY hapa sasa tuta zipanga kulingana na price zao, hivyo itakuwa ORDER BY price kisha tutaweka mpangilio tunaotaka kama ni kubwa kja ndogo tutatumia DESC unaweza kuongeza LIMIT 5 kwa mfano ili kuona idadi maalumu Hivyo command yote itaonekana hivi:-
SELECT * FROM `menu` ORDER BY `price` DESC LIMIT 5;

2. Kupangilia data kutoka ndogo kwenda kubwa
Mfano huu haupo tofauti sana na huo wa juu. Hapa tunataka data zijipange kulungana na gharama zao lakini zianze ndogo zije kubwa. Pia tutataka kuoan 5 tu za mwanzo. Ili kuweza kupanga ndogo kwenda kubwa tunatumia ASCENDING ORDER ambayo kifupi chake ni ASC. Hivyo command nzima itakuwa hivi
SELECT * FROM `menu` ORDER BY `price` ASC LIMIT 5;

3. Kupangilia data random (yaani bila mpangilio maalumu)
Yaani tunataka taarifa zijipango kwa mchanganyiko bila kujali kubwa ama ndogo. Yaani hovyohovyo. Kufanya hivi tutatumia ORDER BY RAND(). Yaani random. Hivyo command itakuwa hivi
SELECT * FROM `menu` ORDER BY RAND() LIMIT 5

4. Kupanga kutoka A kwenda Z ama kutoka Z kwenda A.
Sasa menu yetu tunataka kuzisoma data kwa majina yake kutoka A kwenda Z. kitu cha kwanza ni kujuwa column yenye majina ni ipi. Katika table yetu majina yapo kwenye column yenye jina name. Kupanga tutoka A kwenda Z tutatumia ASC kama tulivyoona kwenye mfano uliotangaulia. Na kupanda kutoka Z kwenda A tutatumia DESC kama tulvyoona huko juu.

Kikubwa hapa tumebadili column. Hapo mwanzo tulitumia column ya price kwani tulikuwa tunazipanga kulingana na price zao. Sasa tutatumia column ya name kwani tunapanga kulingana na majina yao.

A. Hivyo kupanga A to Z tutatumia
SELECT * FROM `menu` ORDER BY name ASC LIMIT 5
Hapo data zako zitajipanga kwa majina yao kutoka A to Z

B. Kupanga Z to A
SELECT * FROM `menu` ORDER BY name DESC LIMIT 5
Hapodata zako zitajipanga kutoka Z to A kulingana na majina (name)

5. Pia unaweza kuchaguwa column za kuona kama tulivyoona somo la tisa. Yaani namaanisha unataka kuosma majina na gharama tu, ila zijipange kulingana na gharama zake kutoka kubwa kwenda ndogo mathalan. Utofauti wa mfano huu na ulotangulia ni kuwa hapo mwanzo umezisoma data zote kuanzia id, name, description na price. (rejea matumizi ya nyota * kwenye somo la tisa)

Hivyo kwa mfano huo comand itakuwa hivi:
SELECT name, price FROM `menu`ORDER BY price DESC LIMIT 8;
Hapo utaona column mbili tua mbayo ni ya name na price na zitajipanga kutoka yenye gharama kubwa kwenda ndogo na itaonyesha row 8 tu.


Endelea nami kwenye somo la 11 ambapo tutajifunza namna ya kutumia where, and, or . kwa sasa endelea kufanyia mazoezi ya kutosha database hii.


Mafunzo haya yamekujia kwa Ihsani ya bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com


SOMO LA 11
Katika somo lililotangulia tumejifunza amna a kupangilia taarifa za kwenye databse. Tuliona namna ya kutumia ORDER BY. Isha tukapanga data zetu kutoka kubwa kwenda ndogo na kinyume chake. Sasa katika somo hili tutatkwenda kuendelea na nnamna ya kupangilia data hizo ila kwa kutumia WHERE .

Kwa nini tunatumia where ?
Tunatumia WHERE endapo tuna masharti yanatakiwa yafikiwe ili data kuonekanna. Kwa mfano unataka kusoma menu zote ambazo gharama yake ni zaidi ya 1000. hapa hili tunaita ni sharti ama condition. Sasa ili sharti hili liweze kufanya kazi kwenye SQL tunatumia where.

1. Mfano wa kwanza
Tunahitaji kusoma data zote ambazo price yake ni sawa na 1000.
Kufanya hivyo tutatumia alama ya = mbele ya where. Hivyocommand nzima itaonekana.
SELECT * FROM `menu` WHERE price =1000
hapo menu itakayoonekana ni ile tu ambayo proce yake ni sawa na 1000.

2. Mfano wa pili
Tunataka kusoma data ambazo id yake ni 3, 4, na 8. yaani data tu zenye id hizo ndizo tunataka kuziona na si nyinginezo. Hivyo tunatarajia kuwa na row tatu tu. Kufanya hivyo tutatumia OR kwa maana au. Yaani eidha id iwe 3 au id iwe 4 au id iwe 8. Na command yote itaonekana hivi
SELECT * FROM `menu` WHERE id =3 OR id =4 OR id =8; pia unweza kuondoa nyota na kupunguza column
SELECT name, price FROM `menu` WHERE id =3 OR id =4 OR id =8;

3. Mafno wa tatu
Chukulia mfano kwenye menu kuna ugali mbili. Kuna ugali nyama abayo ni 1500 na kuna ugali ng’onda ambaypo ji 1000. sasa mimi nataka kusoma ile ambayo ni ugali nyama ya 1500. kumbuka zote ni ugali na kwenye menu zitanasomeka hivyo hivyo. Ili kuona ya ugali 1500 tu tunatakiwa tutumie AND yaani tuselect ugali lakini kwa ulazima kuwa na id yake iwe 1. ambapo kwenye menu yetu id 1 ni ugali hivyo itakuwa hivi:-
SELECT * FROM menu WHERE name = 'ugali' AND id =1

Kuna jambo hapa unatakiwa ulijuwe. Tunapotumia string (sting ni mkusanyiko wa herufi na namba, rejea mafunzo ya php) value inatakiwa ikae ndani ya alama za kufnga na funguwa semi ‘’ kama ulivyo kwenye mfano 'ugali'.

4. Tofauti ya AND na OR.
Unapotumia AND maana yake ni lazima masharti yafikiwe ili data kuonekana. Ila unapotumia OR hata shart moja likifikiwa data zitaonekana. Kwa mfano kwenye mfano namba 2 hapo hata kama kusingekuwa na id 3 data zingeonekana lakini kama tungetumia AND endapo id tatu isingekuwepo kwenye database yetu data zote zisingesoma.

5. Mfano wa nne
Tunahitaji kusoma menu ambazo tu majina yake yameanziwa na herufi u. chukulia mfano kuna orodha ya majina ya vyakula 50 kwenye hoteli moja kubwa sana. Sasa nataku kuona vyakula vinavyoanziwa na herufi u tu, hapo nikiwa naamini nitaona bei ua ugali kwa haraka zaidi tofauti na kuanza kusoma kutoka kwanzo hadi mwisho.

Kufanya hivi tutatumia LIKE kisha tutaweka hiyo heru u kikifuatiwa na alama ya asilimia %. na ikiwa unahitaji kufatuta menu iliyoishiwa na herufi u basi alama ya asilimia % utaiweka mwanzo mfano %u. mfano huu pia utaweza kuutumia kama unataka kusearch kitu kwenye database ambacho kinaanziwa na herufi fuani. Hivyo kulingana na mfano wetu command itakuwa hivi:-
SELECT * FROM menu WHERE name LIKE 'u%'

Tutajifunza zaidi somo hili tutakaposoma namna ya kutafuta kitu kwenye database. Hila unaweza kutumia mfano huu pia kutafuta kitu kama mpangilio hapo unavyouona. Mfano unataka kutafuta neno supu utaweka ‘supu%’



6. Mfano wa tano
Kwa kutumia SQL pia unaweza tumia mathematical operation kama >, <, !=, == na nyinginezo. Hapa nitatumia < na >. kwa ufupi > humaanisha kubwa kuliko na < humaanisha ndogo kuliko. Hapa nitatuia mifano miwili tu ya > na < .

A. Tunahitaji kuona menu ambazo price zake ni kubwa kuliko 1000 hapa tutatumia > .hivyo menu itakayokuja ni ile tu ambayo price yake imezidi 1000. hivyo itakuwa hivi
SELECT * FROM menu WHERE price >1000

B. Tunataka kuona menu ambazo price yake ni ndogo kuliko 900. hapa tutatumia <, hivyo menu tutakazoona ni zile tu ambazo price yake haijafika 900. hivyo itakuwa hivi:-
SELECT *FROM menu WHERE price <900


Tukutane somo la 12 tutajifunza kanuni kadhaa za kihesabu kwa kutumia SQL. Tafadhali usikose somo la 12 kwani ndio somo letu la mwisho wa course hii ta mafunzo ya database kwa kutumia MySQl.


Mafunzo haya yamekujia kwa Ihsani ya bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com


SOMO LA 12
Katika somo ka 10 na 11 tumejifunza namna ya kupangilia data zetu. Sasa hapa tutakwenda kujifunza mambo makuu 3 mabayo nu kuhesabu idadi ya row, kuhesamu jumla ya item na kuhesabu wastani. Hili ndio somo la mwisho ambalo linakwenda kutufungia mafunzo yetu ya database level 1.

1. Kuhesabu idadi ya row.
Lamda hujaelewa row ni nini? Unapoweka data kwenye database kila moja inakaa kwenye row, mmmh, lamda bado lugha ni ngumu, yaani hapa ninachomaanishwa ni data ngapi umeweka. Mfano kwenye table yetu tunatocheza nayo kuna idadi ya menu 10 yaani kuna row 10. sasa fikiria database ni kubwa sana na unataka kujuwa ina row ngapi njia rahisi sio kuhesabu ni kutumia SQL.

Kanuni yetu ni ni kutumia COUNT() function (rejea kuhusu function kwenye mafunzo ya php). utaanza kuselect kisha count ndani ya mabano ya function utaweka jina la column mfano name kisha from ikifuatiwa na jina la table. Unaweza pia kuweka na condition kwa kutumia where . mfano
SELECT COUNT(price) FROM menu

Kwa mfano huu itakuletea 10 kwani idadi ya row hapo ni 10. lakini kama ninataka kuhesabu idadi ta row ambazo price ni zaidi ya 1000 hapo itatubidu tutumie condition. Hivyo itakuwa hivi:-
SELECT COUNT(price) FROM menu WHERE price >1000
Hapo itakuletea 7 yaani jumala ya row zote ambazo price yake ni zaidi ya 1000 ni 7 yaani menu ambazo gharama yake ni zaidi ya 1000 zipo 7.

2. Kutafuta average au wastani
Kufanya hivi tutatumia AVG() function. Mpangilio wake ni sawa na huo uliotangulia hapo juu. Kwa mfano tunataka kujuwa menu zote hapo wastani wake ni kiasi gani. Kumbuka kuna toauti ya wastani na jumla, Wastani ji jumla gawanya kwa idani. (rejea kanuni za hesabu darasa la tano). hivyo itakuwa hivi:-
SELECT AVG(price) FROM menu

Hapo itakupa jibu 4920 yaani wastani wa gharama kwa kila menu ni 4920. kama unataka kuhakiki tumia kanuni huu ya darasa la tano (wastani = jumla/idadi). unaweza pia kutumia WHERE condition kama tulivyoona hapo juu.

3. Kutafuta jumla
Sasa tunataka kujuwa jumala ya menu zote zinagharimu kiasi gani. Ili kufanya hivi tutatumia SUM () function. Hii itatuletea jumala ya item kwenye column. Kama ulivyoona hapo kwenye menu yetu kila kitu na gharama zake saja jumla yake itakuwaje. Mpangilio wa fomula hii ni sawa na hizi mifano miwili iliyotangulia hapo juu. Hivyo itakuwa hivi
SELECT SUM(price) FROM menu

Hiyo itakupa jibu la 49200 yaani kama utajumlisha gharama zote hapo utapata 49200. sasa kama unataka kuthibitisha kanuni hizi kwa hesabu ya darasa la 5 unaweza.

Unaweza pia kutumia condition. Kwa mfano tunataka kujuwa jumla ya menu zote ambazo price ni chini ya 3000. hii itakuwa SELECT SUM(price) FROM menu WHERE price <3000 ambapo tutapata jibu la 6700.

4. Maximum na minimun
Tunataka kujuwa menu yenye gharama ndogo kuliko zote amba kubwa kuliko zote. Kufanya hivi tutatumia MAX() na MIN(). mifano mimngine ni kama ilivyotangulia. Hivyo kama ukipanga vyema itakuwa hivi:-
A. SELECT MAX(PRICE) FROM menu
Hapa itakupa jibu 25000 kwani ndio price kubwa kuliko zote.
SELECT MIN(PRICE) FROM menu
Hapo itakupa jibu 300 kwani ndio price ndogo kuliko zote


Na huu ndio mwisho wa mafunzo haya ya database level 1. tukutane level 2 tutakapojifunza mabo mengi zaidi katika database. Usikose mapunzo yetu mengine ya php level 2 na html level 3.


Mafunzo haya yamekujia kwa Ihsani ya bongoclass
Web: www.bongoclass.com
Email: mafunzo@bongoclass.com

MWISHO
Huu ndio mwisho wa Mafunzo haya ya DATABASE level 1. Endelea na mafunzo ya PHP level 2 ambapo utajifunza namna ya kutumia database kwenye web page kwa kutumia PHP.




Je! una maswali, mapendekezo ama maoni? tuma ujumbe wa meseji SMS hapo chini ili kuunganishwa na muhusika au bofya hapa

SMS SMS


Post Nyingine


MAFUNZO YA HTML LEVEL 2


MAFUNZO YA PHP LEVEL 1


MAFUNZO YA HTML LEVEL ...


MAFUNZO YA DATABASE


PROJECT ZA MAFUNZO LEV...


MAFUNZO YA PHP LEVEL 2


MAFUNZO YA PHP LEVEL 3...