<prompt> Andika hati ya Python inayounganishwa na hifadhidata ya MySQL na kufanya shughuli za kimsingi za CRUD kwenye jedwali linaloitwa wanafunzi na safuwima: kitambulisho, jina, umri, na kozi. Jumuisha kushughulikia makosa kwa masuala ya kawaida kama vile vitambulisho visivyo sahihi au seva isiyopatikana.PLINFORMAT  <response>: agiza mysql.connectorkutoka kwa mysql.kontakt Hitilafu ya kuingizadef create_connectionjina_mwenyeji, jina_la_mtumiaji, neno la siri_la mtumiaji, db_name: uhusiano Hakuna jaribu: muunganisho mysql.connector.connect mwenyejijina_mwenyeji, mtumiajijina_la_mtumiaji, passwdnenosiri_la_mtumiaji, hifadhidatadb_name print Muunganisho kwa MySQL DB umefanikiwa isipokuwa Hitilafu kama e: printfKosa e limetokea uunganisho wa kurudidef execute_querymuunganisho, swala: cursor connection.cursor jaribu: cursor.tekelezahoja connection.commit printHoja imetekelezwa kwa mafanikio isipokuwa Hitilafu kama e: printfKosa e limetokeadef execute_read_querymuunganisho, swala: cursor connection.cursor matokeo Hakuna jaribu: cursor.tekelezahoja matokeo cursor.fetchall matokeo ya kurudi isipokuwa Hitilafu kama e: printfKosa e limetokeaconnection create_connectionmwenyeji_wako, mtumiaji_wako, neno_la_siri_yako, jina_la_ lakocreate_students_table TUNZA JEDWALI IKIWA HAIPO wanafunzi id INT AUTO_INCREMENT FUNGUO YA MSINGI, jina VARCHAR100 SI UFUPI, umri INT, kozi VARCHAR100;kutekeleza_query muunganisho, tengeneza_meza_ya_wanafunziinsert_student INGIZA NDANI ya wanafunzi jina, umri, kozi MAADILIJohn Doe, 22, Sayansi ya Kompyuta,Jane Smith, 20, Uhandisi wa Umeme;kutekeleza_querymuunganisho, ingiza_mwanafunziselect_students CHAGUA KUTOKA kwa wanafunziwanafunzi execute_read_querymuunganisho, chagua_wanafunzikwa wanafunzi katika wanafunzi: chapa mwanafunziupdate_student_age UPDATE wanafunziWEKA umri 23WAPI kitambulisho 1;kutekeleza_querymuunganisho, sasisha_umri_wa_mwanafunzidelete_student FUTA KUTOKA KWA wanafunzi WAPI id 2;kutekeleza_querymuunganisho, futa_mwanafunzi 