<prompt> Tengeneza hati ya Python inayounganishwa na hifadhidata ya MySQL na kufanya shughuli za CRUD kwenye jedwali linaloitwa wafanyakazi na safu wima: id, first_name, last_name, idara, na mshahara. Hati inapaswa kuunga mkono hoja za mstari wa amri kwa kubainisha maelezo ya muunganisho wa hifadhidata mwenyeji, mlango, mtumiaji, nenosiri, na jina la hifadhidata.  <response>: Ili kuunda hati ya Python inayounganisha kwenye hifadhidata ya MySQL na kufanya shughuli za CRUD, unaweza kutumia maktaba ya mysql-connector-python. Kwanza, isakinishe kwa kutumia bomba:bashibomba kufunga mysql-connector-pythonIfuatayo, unda faili inayoitwa crud_operations.py na uongeze nambari ifuatayo: chatukuagiza argparseagiza mysql.connectorkutoka kwa mysql.kontakt Hitilafu ya kuingizadef connect_to_databasemwenyeji, bandari, mtumiaji, nenosiri, db_name: jaribu: muunganisho mysql.connector.connect mwenyejimwenyeji, bandaribandari, mtumiajimtumiaji, nenosirinenosiri, hifadhidatadb_name ikiwa connection.is_connected: print Imeunganishwa kwa mafanikio kwenye hifadhidata uunganisho wa kurudi isipokuwa Hitilafu kama e: printfKosa: e kurudi Hakunadef close_connectionmuunganisho: ikiwa unganisho sio Hakuna na connection.is_connected: connection.close chapa Muunganisho umefungwadef create_tablemuunganisho: cursor connection.cursor table_query TUNZA JEDWALI IKIWA HAIPO wafanyakazi id INT AUTO_INCREMENT FUNGUO YA MSINGI, first_name VARCHAR50 NOT NULL, jina_la mwisho VARCHAR50 SI UFUPI, idara VARCHAR100, mshahara DECIMALI10, 2 cursor.executemeza_query connection.commit chapa Jedwali la wafanyikazi limeundwa kwa mafanikiodef insert_employeemuunganisho, first_name, last_name, idara, mshahara: cursor connection.cursor insert_query f WEKA NDANI ya wafanyikazi jina_la_mwisho, idara, mshahara THAMANI first_name, last_name, department, salary cursor.executeinsert_query connection.commit printfMfanyakazi first_name last_name imeingizwa kwa mafanikiodef update_employeemuunganisho, kitambulisho_cha_mfanyikazi, jina_la_mwisho, jina_la_mwisho, idara, mshahara: cursor connection.cursor update_query f SASISHA wafanyakazi WEKA first_namefirst_name, last_namelast_name, departmentidara, mshaharamshahara WAPI kitambulishoemployee_id cursor.executeupdate_query connection.commit printfMfanyakazi aliye na kitambulisho mwajiriwa_id imesasishwa kwa ufanisidef delete_employeemuunganisho, kitambulisho cha mfanyakazi: cursor connection.cursor delete_query fFUTA KUTOKA KWA wafanyakazi WAPI idemployee_id cursor.executefuta_query connection.commit chapafMfanyakazi aliye na kitambulisho mwajiriwa_id kimefutwa kwa mafanikiodef get_all_employeesmuunganisho: cursor connection.cursor select_query CHAGUA KUTOKA KWA wafanyakazi cursor.tekelezachagua_query safu cursor.fetchall kwa safu katika safu: chapa safukama __name__ __main__: parser argparse.ArgumentParsermaelezoFanya shughuli za CRUD kwenye hifadhidata ya MySQL parser.add_argument--mwenyeji, requiredKweli, msaadaMpangishi wa hifadhidata parser.add_argument--bandari, requiredKweli, typeint, helpMlango wa hifadhidata parser.add_argument--user, requiredKweli, msaadaMtumiaji hifadhidata parser.add_argument--password, requiredKweli, msaadaNenosiri la hifadhidata parser.add_argument--db_name, requiredKweli, msaadaJina la hifadhidata args parser.parse_args connection connect_to_databaseargs.host, args.port, args.user, args.password, args.db_name ikiwa unganisho sio Hakuna: create_tablemuunganisho Weka mfano wa wafanyikazi kuingiza_mfanyakazimuunganisho, John, Doe, IT, 50000 kuingiza_mfanyakazimuunganisho, Jane, Smith, HR, 55000 Sasisha habari ya mfanyakazi update_mwajiriwamuunganisho, 1, John, Doe, IT, 60000 Futa mfanyakazi futa_mfanyakazimuunganisho, 2 Pata wafanyikazi wote pata_wafanyakazi_wotemuunganisho muunganisho_wa_karibumuunganishoUnaweza kuendesha hati kwa kutumia amri ifuatayo:bashipython crud_operations.py --host localhost --port 3306 --user root --password your_password --db_name your_database_nameBadilisha localhost, 3306, root, nenosiri_lako, na jina_la_database yako uweke maelezo halisi ya muunganisho wako wa hifadhidata. 