




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MySQL數(shù)據(jù)庫項(xiàng)目化教程V1項(xiàng)目九Python程序連接與訪問MySQL數(shù)據(jù)庫項(xiàng)目任務(wù)知識目標(biāo)學(xué)習(xí)目標(biāo)任務(wù)1:使用Python連接MySQL數(shù)據(jù)庫任務(wù)2:使用Python創(chuàng)建MySQL數(shù)據(jù)表任務(wù)3:使用Python對MySQL數(shù)據(jù)表進(jìn)行管理(1)掌握MySQL數(shù)據(jù)庫與Python程序的連接(2)掌握在PyCharm開發(fā)環(huán)境中創(chuàng)建和管理數(shù)據(jù)庫能力目標(biāo)素質(zhì)目標(biāo)學(xué)習(xí)目標(biāo)(1)具有配置Python編程環(huán)境的能力(2)具有基本的Python編程能力(3)具有實(shí)現(xiàn)Python程序與數(shù)據(jù)庫連接的能力(1)培養(yǎng)全局思考的素養(yǎng)(2)培養(yǎng)團(tuán)隊(duì)協(xié)作精神(3)培養(yǎng)良好的心理素質(zhì)和職業(yè)素養(yǎng)課程思政(素養(yǎng)提示)學(xué)習(xí)目標(biāo)(1)進(jìn)行程序開發(fā)時(shí)要有全局的規(guī)劃,做好充足的前期準(zhǔn)備。全局性思維是一種重要的思維方式,它能夠幫助我們更好地把握事物的全貌和發(fā)展趨勢,應(yīng)該培養(yǎng)學(xué)生的全局性思維。(2)數(shù)據(jù)庫設(shè)計(jì)和程序開發(fā)時(shí)都要遵循一種思想原則,即按部就班、逐步推進(jìn)。分步解決方法是一種有效的策略,能夠幫助我們更好地理解和解決復(fù)雜的數(shù)學(xué)問題。應(yīng)該培養(yǎng)學(xué)生分步解決復(fù)雜問題的能力。思維導(dǎo)圖學(xué)習(xí)目標(biāo)任務(wù)分析任務(wù)完成任務(wù)描述Part
2Part
3Part
1任務(wù)一使用Python連接MySQL數(shù)據(jù)庫任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述雖然數(shù)據(jù)庫管理系統(tǒng)的種類很多,如MySQL、SQLServer、Oracle、SQLite等,但這些系統(tǒng)的功能基本一致。為了對數(shù)據(jù)庫進(jìn)行統(tǒng)一規(guī)范化操作,大多數(shù)據(jù)庫程序設(shè)計(jì)語言都提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫接口。開發(fā)Python程序時(shí),數(shù)據(jù)庫應(yīng)用也是必不可少的,在PythonDatabaseAPI規(guī)范中,定義了Python數(shù)據(jù)庫API接口的各個(gè)部分,如模塊接口、連接對象、游標(biāo)對象、類型對象和構(gòu)造器等。本任務(wù)主要介紹如何編寫Python程序,并使用Python連接MySQL數(shù)據(jù)庫。任務(wù)描述任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述Python擁有豐富的第三方庫,本任務(wù)使用PyMySQL庫中的connect()方法連接MySQL數(shù)據(jù)庫,步驟如下:首先在MySQL命令行窗口中創(chuàng)建數(shù)據(jù)庫competition_test;然后在PyCharm集成開發(fā)環(huán)境中創(chuàng)建項(xiàng)目competition,在項(xiàng)目competition中創(chuàng)建Python程序文件test-1.py;最后在Python程序文件test-1.py中編寫代碼,實(shí)現(xiàn)與MySQL數(shù)據(jù)庫competition_test的連接,查詢并輸出MySQL的版本。任務(wù)分析任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述創(chuàng)建數(shù)據(jù)庫1.在MySQL命令行窗口中創(chuàng)建數(shù)據(jù)庫competition_test首先在MySQL命令行窗口中輸入root用戶正確的密碼,當(dāng)命令行窗口提示符變?yōu)椤癿ysql>”時(shí),表示已經(jīng)成功登錄到MySQL服務(wù)器。然后創(chuàng)建數(shù)據(jù)庫competition_test:CREATEDATABASEcompetition_test;
2.創(chuàng)建PyCharm項(xiàng)目competition成功啟動(dòng)PyCharm后,在其主窗口選擇【文件】-【新建項(xiàng)目】選項(xiàng),打開【創(chuàng)建項(xiàng)目】對話框,在該對話框的【位置】框中選擇路徑,如下圖所示,單擊【創(chuàng)建】按鈕,完成PyCharm項(xiàng)目competition的創(chuàng)建。創(chuàng)建PyCharm項(xiàng)目3.創(chuàng)建Python程序文件test-1.py在PyCharm主窗口中右擊創(chuàng)建好的competition項(xiàng)目,在彈出的快捷菜單中選擇【新建】-【Python文件】選項(xiàng),創(chuàng)建Python程序文件,如下左圖所示。在打開的【新建Python文件】對話框中輸入文件名“test-1”,如下右圖所示。雙擊【Python文件】選項(xiàng),完成Python程序文件的創(chuàng)建任務(wù)。同時(shí)PyCharm主窗口將顯示程序文件test-1.py的代碼編輯窗口。創(chuàng)建test-1.py4.編寫Python程序并運(yùn)行在文件test-1.py的代碼編輯窗口中輸入以下代碼并運(yùn)行:編寫test-1.py#使用pymysql包,要先安裝importpymysql#數(shù)據(jù)庫連接,參數(shù):host=主機(jī)名或IP,user=用戶名,password=密碼,database=數(shù)據(jù)庫名稱conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法創(chuàng)建一個(gè)游標(biāo)對象cursorcursor=conn.cursor()#使用execute()方法執(zhí)行SQL查詢cursor.execute("SELECTVERSION()")#使用fetchone()方法獲取單條數(shù)據(jù)data=cursor.fetchone()print("Databaseversion:",data)#關(guān)閉數(shù)據(jù)庫連接conn.close()任務(wù)總結(jié)本任務(wù)通過PyCharm使用PyMySQL包和Python程序來連接MySQL數(shù)據(jù)庫,讀者可以根據(jù)自己的需求執(zhí)行各種SQL查詢和操作。使用Python連接MySQL數(shù)據(jù)庫時(shí),要確保提供正確的數(shù)據(jù)庫主機(jī)名、用戶名、密碼和數(shù)據(jù)庫名稱。任務(wù)分析任務(wù)完成任務(wù)描述Part
2Part
3Part
1任務(wù)二使用Python創(chuàng)建MySQL數(shù)據(jù)表任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述本任務(wù)使用Python程序來創(chuàng)建MySQL數(shù)據(jù)表,Python提供了直觀且易于理解的語法,使得創(chuàng)建數(shù)據(jù)表變得簡單和直接。Python程序的可讀性高,使得操作數(shù)據(jù)庫的代碼易于編寫和維護(hù)。任務(wù)描述任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述在competition項(xiàng)目中創(chuàng)建Python程序文件test-2.py;在test-2.py文件中編寫代碼,連接MySQL數(shù)據(jù)庫competition_test,并在數(shù)據(jù)庫competition_test中創(chuàng)建數(shù)據(jù)表student。任務(wù)分析任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述使用Python創(chuàng)建MySQL數(shù)據(jù)表1.創(chuàng)建Python程序文件test-2.py,具體步驟參考任務(wù)一。importpymysql#打開數(shù)據(jù)庫連接conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法創(chuàng)建一個(gè)游標(biāo)對象cursorcursor=conn.cursor()#使用execute()方法執(zhí)行SQL,如果表存在,則刪除cursor.execute("DROPTABLEIFEXISTSstudent")編寫Python創(chuàng)建數(shù)據(jù)表2.編寫Python程序并運(yùn)行,在程序文件test-2.py的代碼編窗口中輸入以下代碼:#使用預(yù)處理語句創(chuàng)建表sql="""CREATETABLEstudent(st_idINT(4)NOTNULL,st_nameVARCHAR(20)NOTNULL,st_sexVARCHAR(2)NOTNULL,st_classVARCHAR(10)NULL);"""cursor.execute(sql)#關(guān)閉數(shù)據(jù)庫連接conn.close()使用Python創(chuàng)建MySQL數(shù)據(jù)表1.在MySQL命令行窗口中,再次驗(yàn)證數(shù)據(jù)庫competition_test中是否已經(jīng)創(chuàng)建了數(shù)據(jù)表student檢驗(yàn)創(chuàng)建結(jié)果任務(wù)總結(jié)本任務(wù)完成在PyCharm中使用Python程序來創(chuàng)建數(shù)據(jù)表。Python擁有活躍的開源社區(qū),提供了大量的數(shù)據(jù)庫相關(guān)的工具和庫,這些工具和庫可以幫助讀者解決各種與數(shù)據(jù)庫相關(guān)的問題。任務(wù)分析任務(wù)完成任務(wù)描述Part
2Part
3Part
1任務(wù)三使用Python對MySQL數(shù)據(jù)表進(jìn)行管理任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述本任務(wù)完成在PyCharm中,使用Python程序?qū)ySQL數(shù)據(jù)庫中的數(shù)據(jù)表進(jìn)行增、刪、改、查等操作,完成對數(shù)據(jù)表的管理。任務(wù)描述任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述在PyCharm項(xiàng)目competition中,新建4個(gè)Python程序文件,輸入對應(yīng)數(shù)據(jù)表管理代碼,分別對數(shù)據(jù)表student進(jìn)行增、刪、改、查的操作。任務(wù)分析任務(wù)分析任務(wù)完成Part
1Part
2Part
3任務(wù)描述1.使用INSERT語句向數(shù)據(jù)表student中插入記錄在PyCharm項(xiàng)目competition中創(chuàng)建程序文件test-insert.py,在此程序文件的代碼編輯窗口中輸入以下代碼:importpymysql#打開數(shù)據(jù)庫連接conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法創(chuàng)建獲取操作游標(biāo)cursor=conn.cursor()#sql插入語句sql="""INSERTINTOstudent(st_id,st_name,st_sex,st_class)VALUES("1","梁榮希","男","23網(wǎng)絡(luò)1班"),("2","溫淑琳","女","23網(wǎng)絡(luò)2班"),("3","王曉東","男","23網(wǎng)絡(luò)2班"),("4","陳湘兒","男","23網(wǎng)絡(luò)1班")"""插入數(shù)據(jù)try:#執(zhí)行sql語句
cursor.execute(sql)#提交到數(shù)據(jù)庫執(zhí)行
mit()except:#如果發(fā)生錯(cuò)誤則回滾
conn.rollback()#關(guān)閉數(shù)據(jù)連接
conn.close()1.使用INSERT語句向數(shù)據(jù)表student中插入記錄運(yùn)行結(jié)果Python程序運(yùn)行成功后,可在MySQL命令行窗口中,再次驗(yàn)證數(shù)據(jù)表student中是否已經(jīng)插入了相應(yīng)數(shù)據(jù)。數(shù)據(jù)查詢代碼可參考項(xiàng)目五的內(nèi)容。2.刪除MySQL數(shù)據(jù)表中的記錄在PyCharm項(xiàng)目competition中創(chuàng)建程序文件test-delete.py,在此程序文件的代碼編輯窗口中輸入以下代碼:importpymysql#打開數(shù)據(jù)庫連接conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法創(chuàng)建一個(gè)游標(biāo)對象cursorcursor=conn.cursor()#sql刪除語句sql="DELETEFROMstudentWHEREst_name='王曉東'"刪除數(shù)據(jù)try:#執(zhí)行sql語句
cursor.execute(sql)#提交修改
mit()except:#發(fā)生錯(cuò)誤時(shí)回滾
conn.rollback()#關(guān)閉連接conn.close()運(yùn)行結(jié)果Python程序運(yùn)行成功后,可在MySQL命令行窗口中,再次驗(yàn)證數(shù)據(jù)表student中是否已經(jīng)刪除了相應(yīng)數(shù)據(jù)。數(shù)據(jù)查詢代碼可參考項(xiàng)目五的內(nèi)容。2.刪除MySQL數(shù)據(jù)表中的記錄3.更新修改MySQL數(shù)據(jù)表在PyCharm項(xiàng)目competition中創(chuàng)建程序文件test-update.py,在此程序文件的代碼編輯窗口中輸入以下代碼:importpymysql#打開數(shù)據(jù)庫連接conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法獲取操作游標(biāo)cursor=conn.cursor()#sql更新語句sql="UPDATEstudentSETst_class='23網(wǎng)絡(luò)3班'WHEREst_name='陳湘兒'"更新數(shù)據(jù)try:#執(zhí)行sql語句
cursor.execute(sql)#提交修改
mit()except:#發(fā)生錯(cuò)誤時(shí)回滾
conn.rollback()#關(guān)閉連接conn.close()運(yùn)行結(jié)果Python程序運(yùn)行成功后,可在MySQL命令行窗口中,再次驗(yàn)證數(shù)據(jù)表student中是否已經(jīng)更新了相應(yīng)數(shù)據(jù)。數(shù)據(jù)查詢代碼可參考項(xiàng)目五的內(nèi)容。3.更新修改MySQL數(shù)據(jù)表在PyCharm項(xiàng)目competition中創(chuàng)建程序文件test-select.py,在此程序文件的代碼編輯窗口中輸入以下代碼:importpymysql#打開數(shù)據(jù)庫連接conn=pymysql.connect(host="localhost",user="root",password="123456",database="competition_test")#使用cursor()方法創(chuàng)建獲取操作游標(biāo)cursor=conn.cursor()#sql查詢語句sql="SELECTst_id,st_name,st_sex,st_classFROMstudentWHEREst_sex='男'"try:#執(zhí)行sql語句
cur
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能農(nóng)業(yè)作物損壞賠償與病蟲害防治服務(wù)協(xié)議
- 二零二五醫(yī)療事故賠償協(xié)議書撰寫要點(diǎn)解析
- 2025年度智能化住宅房屋租賃定金合同模板范文
- 二零二五年度知識產(chǎn)權(quán)戰(zhàn)略布局專利代理合同
- 二零二五年度主播才藝展示及經(jīng)紀(jì)管理協(xié)議
- 二零二五年度能源合同可撤銷條款與節(jié)能減排合同
- 二零二五年度全新辦公區(qū)轉(zhuǎn)租協(xié)議合同:商務(wù)辦公空間租賃權(quán)轉(zhuǎn)讓
- 二零二五年度合同管理制及流程圖編制與執(zhí)行標(biāo)準(zhǔn)合同
- 2025年度智能醫(yī)療設(shè)備研發(fā)團(tuán)隊(duì)技術(shù)人員勞動(dòng)合同
- 二零二五年度新材料專利共享許可協(xié)議
- 2025至2030年中國毛絨卡通玩具數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年度智能充電樁場地租賃合同范本3篇
- 2025年度典型火災(zāi)案例及消防安全知識專題培訓(xùn)
- 2024年蕪湖職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 2025年度國家鐵路局安全技術(shù)中心面向社會公開招聘工作人員5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 北師大版三年級下冊數(shù)學(xué)口算題練習(xí)1000道帶答案
- 技術(shù)推廣服務(wù)合同模板五篇
- 《智能制造技術(shù)基礎(chǔ)》課件-第3章 智能制造加工技術(shù)
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 四川政采評審專家入庫考試基礎(chǔ)題復(fù)習(xí)測試題
評論
0/150
提交評論