




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2025年大數(shù)據(jù)分析師職業(yè)技能測試卷:Python數(shù)據(jù)分析庫PyMySQL應(yīng)用試題考試時間:______分鐘總分:______分姓名:______一、Python數(shù)據(jù)分析庫PyMySQL應(yīng)用基礎(chǔ)要求:本部分主要考察學(xué)生對PyMySQL庫的基本使用方法,包括連接數(shù)據(jù)庫、執(zhí)行SQL語句、處理結(jié)果集等。1.使用PyMySQL連接MySQL數(shù)據(jù)庫,請寫出相應(yīng)的Python代碼。2.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名和年齡信息。3.編寫Python代碼,使用PyMySQL向名為“student”的數(shù)據(jù)庫中名為“info”的表中插入一條新記錄,包括姓名、年齡和性別。4.編寫Python代碼,使用PyMySQL修改名為“student”的數(shù)據(jù)庫中名為“info”的表中名為“age”的列,將年齡大于20歲的學(xué)生年齡加1。5.編寫Python代碼,使用PyMySQL刪除名為“student”的數(shù)據(jù)庫中名為“info”的表中年齡小于18歲的學(xué)生記錄。6.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取年齡在18歲到25歲之間的學(xué)生姓名和性別。7.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按年齡降序排列。8.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按姓名升序排列。9.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按性別分組統(tǒng)計人數(shù)。10.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按年齡和性別分組統(tǒng)計人數(shù)。二、Python數(shù)據(jù)分析庫PyMySQL高級應(yīng)用要求:本部分主要考察學(xué)生對PyMySQL庫的高級應(yīng)用,包括事務(wù)處理、存儲過程、觸發(fā)器等。1.編寫Python代碼,使用PyMySQL創(chuàng)建一個名為“student”的數(shù)據(jù)庫,并設(shè)置字符集為utf8。2.編寫Python代碼,使用PyMySQL創(chuàng)建一個名為“info”的表,包含字段:id(主鍵)、name(姓名)、age(年齡)、gender(性別)。3.編寫Python代碼,使用PyMySQL創(chuàng)建一個存儲過程,用于查詢名為“student”的數(shù)據(jù)庫中名為“info”的表中年齡大于20歲的學(xué)生姓名和性別。4.編寫Python代碼,使用PyMySQL創(chuàng)建一個觸發(fā)器,在向名為“info”的表中插入數(shù)據(jù)時,自動為id字段生成自增序列。5.編寫Python代碼,使用PyMySQL開啟一個事務(wù),向名為“info”的表中插入兩條記錄,然后回滾事務(wù),查看是否插入成功。6.編寫Python代碼,使用PyMySQL執(zhí)行一個包含多個SQL語句的事務(wù),實現(xiàn)向名為“info”的表中插入多條記錄,并確保數(shù)據(jù)的一致性。7.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并統(tǒng)計年齡大于20歲的學(xué)生人數(shù)。8.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并統(tǒng)計年齡在18歲到25歲之間的學(xué)生人數(shù)。9.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按年齡和性別分組統(tǒng)計人數(shù)。10.編寫Python代碼,使用PyMySQL查詢名為“student”的數(shù)據(jù)庫中名為“info”的表,獲取所有學(xué)生的姓名、年齡和性別,并按年齡和性別分組統(tǒng)計人數(shù),同時統(tǒng)計每個分組的人數(shù)。四、Python數(shù)據(jù)分析庫PyMySQL錯誤處理與異常要求:本部分主要考察學(xué)生對PyMySQL庫中錯誤處理和異常捕獲機制的理解和應(yīng)用。1.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,并嘗試執(zhí)行一個不存在的SQL語句,捕獲并打印出相應(yīng)的異常信息。2.編寫Python代碼,使用PyMySQL執(zhí)行一個可能引發(fā)錯誤的SQL語句,使用try-except結(jié)構(gòu)捕獲異常,并給出相應(yīng)的錯誤提示。3.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個違反數(shù)據(jù)庫約束的SQL語句,捕獲并處理相應(yīng)的異常。4.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個超時操作的SQL語句,捕獲并處理超時異常。5.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個錯誤的SQL語句,使用多個try-except塊捕獲不同類型的異常,并給出相應(yīng)的錯誤提示。6.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個可能引發(fā)多個異常的SQL語句,使用嵌套的try-except結(jié)構(gòu)捕獲并處理所有異常。7.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個包含多個SQL語句的事務(wù),其中一個語句可能引發(fā)異常,捕獲異常并回滾事務(wù)。8.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個包含多個SQL語句的事務(wù),其中一個語句可能引發(fā)異常,捕獲異常并提交事務(wù)。9.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個包含多個SQL語句的事務(wù),所有語句可能引發(fā)異常,捕獲所有異常并決定是否回滾或提交事務(wù)。10.編寫Python代碼,使用PyMySQL連接MySQL數(shù)據(jù)庫,嘗試執(zhí)行一個包含多個SQL語句的事務(wù),所有語句可能引發(fā)異常,捕獲所有異常并記錄異常信息,然后繼續(xù)執(zhí)行后續(xù)操作。五、Python數(shù)據(jù)分析庫PyMySQL連接與斷開要求:本部分主要考察學(xué)生對PyMySQL庫中連接和斷開數(shù)據(jù)庫操作的理解和應(yīng)用。1.編寫Python代碼,使用PyMySQL連接到本地MySQL數(shù)據(jù)庫,連接成功后打印出連接信息。2.編寫Python代碼,使用PyMySQL連接到遠程MySQL數(shù)據(jù)庫,連接成功后打印出連接信息。3.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后斷開連接。4.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后關(guān)閉PyMySQL庫,斷開所有連接。5.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后使用上下文管理器自動斷開連接。6.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后使用try-except結(jié)構(gòu)確保在操作完成后正確斷開連接。7.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后使用finally塊確保在操作完成后斷開連接。8.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后使用with語句確保在操作完成后斷開連接。9.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后檢查連接是否已斷開。10.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一些查詢操作,然后檢查連接狀態(tài),并在連接異常時嘗試重新連接。六、Python數(shù)據(jù)分析庫PyMySQL事務(wù)處理要求:本部分主要考察學(xué)生對PyMySQL庫中事務(wù)處理機制的理解和應(yīng)用。1.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,然后提交事務(wù)。2.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,其中一個操作可能引發(fā)異常,捕獲異常并回滾事務(wù)。3.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,其中一個操作可能引發(fā)異常,捕獲異常并提交事務(wù)。4.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,所有操作可能引發(fā)異常,捕獲所有異常并決定是否回滾或提交事務(wù)。5.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,所有操作可能引發(fā)異常,捕獲所有異常并記錄異常信息,然后繼續(xù)執(zhí)行后續(xù)操作。6.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,其中一個操作可能引發(fā)異常,捕獲異常并回滾事務(wù),然后嘗試重新執(zhí)行操作。7.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,其中一個操作可能引發(fā)異常,捕獲異常并提交事務(wù),然后嘗試重新執(zhí)行操作。8.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,所有操作可能引發(fā)異常,捕獲所有異常并決定是否回滾或提交事務(wù),然后嘗試重新執(zhí)行操作。9.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,所有操作可能引發(fā)異常,捕獲所有異常并記錄異常信息,然后嘗試重新執(zhí)行操作。10.編寫Python代碼,使用PyMySQL連接到MySQL數(shù)據(jù)庫,執(zhí)行一系列操作,所有操作可能引發(fā)異常,捕獲所有異常并決定是否回滾或提交事務(wù),然后嘗試重新執(zhí)行操作,并記錄重試次數(shù)。本次試卷答案如下:一、Python數(shù)據(jù)分析庫PyMySQL應(yīng)用基礎(chǔ)1.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='your_database',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("SELECT'Connectionestablished'")#獲取查詢結(jié)果result=cursor.fetchone()print(result['SELECT'])finally:connection.close()```解析思路:首先導(dǎo)入pymysql庫,然后使用connect方法創(chuàng)建數(shù)據(jù)庫連接,指定數(shù)據(jù)庫的主機、用戶名、密碼、數(shù)據(jù)庫名和字符集。使用with語句確保連接在操作完成后正確關(guān)閉。使用cursor對象執(zhí)行SQL語句,并獲取查詢結(jié)果。2.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("SELECTname,ageFROMinfo")#獲取查詢結(jié)果results=cursor.fetchall()forrowinresults:print(row)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL查詢語句,并使用fetchall方法獲取所有結(jié)果。遍歷結(jié)果集并打印每個學(xué)生的姓名和年齡。3.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('JohnDoe',22,'Male')")#提交事務(wù)mit()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL插入語句,并使用commit方法提交事務(wù)。4.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#提交事務(wù)mit()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL更新語句,并使用commit方法提交事務(wù)。5.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("DELETEFROMinfoWHEREage<18")#提交事務(wù)mit()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL刪除語句,并使用commit方法提交事務(wù)。二、Python數(shù)據(jù)分析庫PyMySQL高級應(yīng)用1.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("CREATEDATABASEIFNOTEXISTSstudent")#提交事務(wù)mit()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL創(chuàng)建數(shù)據(jù)庫語句,并使用commit方法提交事務(wù)。2.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("CREATETABLEIFNOTEXISTSinfo(idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(50),ageINT,genderVARCHAR(10))")#提交事務(wù)mit()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行SQL創(chuàng)建表語句,并使用commit方法提交事務(wù)。3.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)defget_students_over_20():withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("SELECTname,genderFROMinfoWHEREage>20")#獲取查詢結(jié)果results=cursor.fetchall()returnresults#調(diào)用函數(shù)并打印結(jié)果students=get_students_over_20()forstudentinstudents:print(student)```解析思路:定義一個函數(shù)get_students_over_20,連接數(shù)據(jù)庫并執(zhí)行SQL查詢語句,獲取年齡大于20歲的學(xué)生姓名和性別,返回查詢結(jié)果。在主程序中調(diào)用該函數(shù)并打印結(jié)果。4.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)defcreate_trigger():withconnection.cursor()ascursor:#執(zhí)行SQL語句cursor.execute("""CREATETRIGGERbefore_insert_infoBEFOREINSERTONinfoFOREACHROWSETNEW.id=LAST_INSERT_ID()""")#提交事務(wù)mit()#調(diào)用函數(shù)創(chuàng)建觸發(fā)器create_trigger()```解析思路:定義一個函數(shù)create_trigger,連接數(shù)據(jù)庫并執(zhí)行SQL創(chuàng)建觸發(fā)器語句,設(shè)置觸發(fā)器在向info表中插入數(shù)據(jù)時自動為id字段生成自增序列。在主程序中調(diào)用該函數(shù)創(chuàng)建觸發(fā)器。5.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Alice',19,'Female')")cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Bob',20,'Male')")#提交事務(wù)mit()exceptpymysql.MySQLErrorase:#發(fā)生錯誤時回滾事務(wù)connection.rollback()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則使用rollback方法回滾事務(wù)。最后關(guān)閉連接。6.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Charlie',21,'Male')")cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#提交事務(wù)mit()exceptpymysql.MySQLErrorase:#發(fā)生錯誤時回滾事務(wù)connection.rollback()finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入和更新語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則使用rollback方法回滾事務(wù)。最后關(guān)閉連接。四、Python數(shù)據(jù)分析庫PyMySQL錯誤處理與異常1.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行不存在的SQL語句cursor.execute("SELECT*FROMnon_existent_table")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個不存在的SQL語句,捕獲并打印出相應(yīng)的異常信息。2.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行可能引發(fā)錯誤的SQL語句cursor.execute("SELECT*FROMinfoWHEREid=-1")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個可能引發(fā)錯誤的SQL語句,使用try-except結(jié)構(gòu)捕獲異常,并給出相應(yīng)的錯誤提示。3.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行違反數(shù)據(jù)庫約束的SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('JohnDoe','abc','Male')")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個違反數(shù)據(jù)庫約束的SQL語句,捕獲并處理相應(yīng)的異常。4.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行超時操作的SQL語句cursor.execute("SELECT*FROMinfoWHEREage=999999")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個超時操作的SQL語句,捕獲并處理超時異常。5.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行錯誤的SQL語句cursor.execute("SELECT*FROMnon_existent_table")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個錯誤的SQL語句,使用多個try-except塊捕獲不同類型的異常,并給出相應(yīng)的錯誤提示。6.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#執(zhí)行可能引發(fā)多個異常的SQL語句cursor.execute("SELECT*FROMnon_existent_table")exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,嘗試執(zhí)行一個可能引發(fā)多個異常的SQL語句,使用嵌套的try-except結(jié)構(gòu)捕獲并處理所有異常。7.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Alice',19,'Female')")cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#發(fā)生錯誤時回滾事務(wù)raiseException("Erroroccurred")finally:connection.rollback()connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入和更新語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則使用rollback方法回滾事務(wù)。最后關(guān)閉連接。8.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Bob',20,'Male')")cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#提交事務(wù)mit()exceptpymysql.MySQLErrorase:print("Error:",e)finally:connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入和更新語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則捕獲異常并處理。最后提交事務(wù)。9.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Charlie',21,'Male')")cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#發(fā)生錯誤時回滾事務(wù)raiseException("Erroroccurred")finally:connection.rollback()connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入和更新語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則使用rollback方法回滾事務(wù)。最后關(guān)閉連接。10.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)try:withconnection.cursor()ascursor:#開啟事務(wù)connection.begin()#執(zhí)行多個SQL語句cursor.execute("INSERTINTOinfo(name,age,gender)VALUES('Dave',22,'Male')")cursor.execute("UPDATEinfoSETage=age+1WHEREage>20")#發(fā)生錯誤時回滾事務(wù)raiseException("Erroroccurred")finally:connection.rollback()connection.close()```解析思路:連接數(shù)據(jù)庫后,使用cursor對象執(zhí)行多個SQL插入和更新語句,并使用begin方法開啟事務(wù)。如果發(fā)生錯誤,則使用rollback方法回滾事務(wù)。最后關(guān)閉連接。五、Python數(shù)據(jù)分析庫PyMySQL連接與斷開1.代碼示例:```pythonimportpymysql#連接數(shù)據(jù)庫connection=pymysql.connect(host='localhost',user='your_username',password='your_password',database='student',charset='utf8mb4',curs
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023七年級數(shù)學(xué)上冊 第1章 有理數(shù)1.2 數(shù)軸、相反數(shù)和絕對值第2課時 相反數(shù)教學(xué)設(shè)計 (新版)滬科版
- 九年級歷史下冊 第四單元 經(jīng)濟大危機和第二次世界大戰(zhàn) 第13課 羅斯福新政教學(xué)設(shè)計 新人教版
- Unit 1 what's the matter Section A 1a-1c 教學(xué)設(shè)計 2024-2025學(xué)年人教版八年級英語下冊
- 10喜鵲飛來報吉祥(教案)三年級上冊信息技術(shù)華師大版
- 臉蛋表情美術(shù)課件
- 2024-2025學(xué)年八年級物理下冊 第七章 運動和力 7.1 怎樣描述運動教學(xué)設(shè)計 (新版)粵教滬版
- 腦積水觀察及護理
- 2024-2025學(xué)年高中物理 第三章 傳感器 1 傳感器教學(xué)設(shè)計1 教科版選修3-2
- Unit 1 Reading for writing 教學(xué)設(shè)計 2024-2025學(xué)年外研版(2024)七年級英語上冊
- 九年級化學(xué)上冊 6.3 二氧化碳和一氧化碳教學(xué)設(shè)計2 新人教版
- 骨科術(shù)后下肢腫脹護理
- 快件處理員(高級)職業(yè)技能鑒定考試題庫(含答案)
- 福建省廈門市雙十中學(xué)2024-2025學(xué)年九年級上學(xué)期期中考試英語試題
- 2024年廣東省深圳市中考英語模擬試卷(三)
- 全媒體運營師試題庫(含答案)
- 成語故事對牛彈琴
- 湖南省邵陽市2024年六年級數(shù)學(xué)第一學(xué)期期末檢測模擬試題含解析
- 肥胖微生物組與腸道菌群宏基因組學(xué)研究
- 爆花(2023年陜西中考語文試卷記敘文閱讀題及答案)
- 疫情統(tǒng)計學(xué)智慧樹知到答案2024年浙江大學(xué)
- 海上救援合同
評論
0/150
提交評論