版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)可視化技術(shù)》單元16招生數(shù)據(jù)增刪改查操作01準備活動點名、復(fù)習(xí)本次課學(xué)習(xí)內(nèi)容、學(xué)習(xí)目標介紹學(xué)習(xí)內(nèi)容任務(wù):招生數(shù)據(jù)增刪改查:為了方便查詢學(xué)校各二級學(xué)院歷年招生數(shù)據(jù),需要將招生數(shù)據(jù)保存在數(shù)據(jù)庫中。二級學(xué)院包括機械學(xué)院、電氣學(xué)院、汽車學(xué)院、信息學(xué)院、經(jīng)貿(mào)學(xué)院,需要存儲它們的數(shù)據(jù)到MySQL數(shù)據(jù)庫中,并使用Flask實現(xiàn)查詢、新增、刪除、修改等操作,實現(xiàn)招生數(shù)據(jù)的對比和管理本單元學(xué)習(xí)Flask操作數(shù)據(jù)庫,對數(shù)據(jù)庫進行增刪改查操作。任務(wù)1、Flask獲取請求對象參數(shù)任務(wù)2、使用Flask創(chuàng)建表映射任務(wù)3、使用Flask對數(shù)據(jù)添刪改查學(xué)習(xí)目標1、知識(1)了解Flask獲取請求參數(shù)的方法(2)掌握Flask創(chuàng)建表模型的方法(3)掌握Flask對數(shù)據(jù)庫增刪改查2、技能(1)能夠使用Flask獲取請求對象參數(shù)(2)能夠使用Flask創(chuàng)建表映射(3)能夠使用Flask對數(shù)據(jù)添刪改查3、素養(yǎng)(1)嚴謹認真、代碼規(guī)范;(2)數(shù)據(jù)安全、愛國精神;(3)信息檢索能力02發(fā)展活動任務(wù)分析、任務(wù)資訊、演示講解、任務(wù)實施任務(wù)實施1、教師講解
Flask連接MySQL數(shù)據(jù)庫、創(chuàng)建表映射
Flask操縱數(shù)據(jù)庫2、學(xué)生討論(1)Flask怎樣連接MySQL?(2)什么是FlaskSQLAlchemy的表映射?3、明確任務(wù)(1)Flask獲取請求對象參數(shù)(2)使用Flask創(chuàng)建表映射(3)使用Flask對數(shù)據(jù)添刪改查任務(wù)資訊1、FlaskSQLAlchemy數(shù)據(jù)庫是按照一定規(guī)則保存程序數(shù)據(jù),程序再發(fā)起查詢?nèi)』厮璧臄?shù)據(jù),Web程序最常用基于關(guān)系模型的數(shù)據(jù)庫,這種數(shù)據(jù)庫也稱為SQL數(shù)據(jù)庫(關(guān)系型數(shù)據(jù)庫),關(guān)系型數(shù)據(jù)庫把數(shù)據(jù)存儲在表中,表模擬程序中不同的實體。如下所示:表的列數(shù)是固定的,行數(shù)是可變的,列定義表所示的實體的數(shù)據(jù)屬性。表中的行定義各列對應(yīng)的真實數(shù)據(jù)。ORM全稱ObjectRelationalMapping,中文意為對象-關(guān)系映射。其實它就是模型對象的概念把數(shù)據(jù)庫的信息映射稱一個個對象來操作。而不需要寫SQL語句,簡單來說就是面向?qū)ο缶幊?。IDUserEmailPassword1張三zhangsan@163.com1234562李四lisi@163.com654321任務(wù)資訊2、Flask操作數(shù)據(jù)庫Flask中的SQLAlchemy就是一個ORM框架,它依賴于pymysql,使用關(guān)系對象映射對數(shù)據(jù)庫進行操作。Flask操作數(shù)據(jù)庫主要步驟如下:安裝依賴庫。當我們使用Flask進行數(shù)據(jù)開發(fā)時,需要安裝一些相應(yīng)的依賴庫mysqlclient、flask_sqlalchemy、pymysql連接數(shù)據(jù)庫創(chuàng)建模型與表的映射數(shù)據(jù)庫的增刪改查等操作任務(wù)資訊(1)Flask連接數(shù)據(jù)庫任務(wù)資訊(2)創(chuàng)建模型類,關(guān)聯(lián)數(shù)據(jù)庫中的表如要關(guān)聯(lián)數(shù)據(jù)庫中的users表db.Model:創(chuàng)建模型db.Column:創(chuàng)建模型屬性可進入MySQL中“flask_table”數(shù)據(jù)庫,查看是否存在“users”表先使用SQLAlchemy加載app并創(chuàng)建db實例,再創(chuàng)建模型類,關(guān)聯(lián)數(shù)據(jù)庫中的表users,id、name、email、pswd、role_id分別對應(yīng)users表的字段,db.Column表示列名,db.Integer表示該字段為整型數(shù)據(jù),db.String表示該字段為字符串數(shù)據(jù)。這些字段需要設(shè)置一個主鍵。任務(wù)資訊(3)增、刪、改、查參考網(wǎng)址:/Mixtea/p/10678594.html在Flask-SQLAlchemy中,插入、修改、刪除操作,均由數(shù)據(jù)庫會話管理。*會話用db.session表示。在準備把數(shù)據(jù)寫入數(shù)據(jù)庫前,要先將數(shù)據(jù)添加到會話中然后調(diào)用commit()方法提交會話。db.session.add(role):添加到數(shù)據(jù)庫的session中db.session.add_all([role1,role2]):添加多個信息到session中mit():提交數(shù)據(jù)庫的修改(包括增、改、刪)db.session.rollback():數(shù)據(jù)庫的回滾操作db.session.delete():刪除數(shù)據(jù)庫任務(wù)資訊(3)創(chuàng)建/刪除表創(chuàng)建表需要先創(chuàng)建表模型類,再執(zhí)行db.create_all()命令,表示創(chuàng)建模型類對應(yīng)的表。可以在執(zhí)行創(chuàng)建表命令之前,使用db.drop_all()刪除所有的表。任務(wù)資訊(4)插入數(shù)據(jù)要插入一條數(shù)據(jù),可用模型類User創(chuàng)建實例(對應(yīng)一條記錄),加載列屬性,再將該實例加入session事務(wù),執(zhí)行該事務(wù),代碼如下:要一次插入多條數(shù)據(jù),則可先創(chuàng)建多個實例,再添加所有實例到session事務(wù),執(zhí)行該事務(wù),代碼如下:任務(wù)資訊(5)查詢數(shù)據(jù)通過模型類的query方法可以實現(xiàn)數(shù)據(jù)查詢。1)filter_by精確查詢。如要查詢名稱為chen的所有記錄信息,代碼如下:User.query.filter_by(name='chen').all()其中all()返回查詢到的所有對象,可以使用first()返回查詢到的第一個對象。2)filter模糊查詢。如要返回名字結(jié)尾字符為n的所有數(shù)據(jù),代碼如下:User.query.filter(U.endswith('n')).all()3)get()查詢。通過get(),將其參數(shù)設(shè)置為主鍵,可以得到主鍵對應(yīng)的記錄。如果主鍵不存在,則沒有返回內(nèi)容。User.query.get(1)可以查詢主鍵值為1的記錄。任務(wù)資訊(5)查詢數(shù)據(jù)通過模型類的query方法可以實現(xiàn)數(shù)據(jù)查詢。4)邏輯條件查詢。①使用邏輯非條件查詢,返回名字不等于“zhou”的所有數(shù)據(jù),代碼如下:User.query.filter(U!='zhou').all()②使用邏輯與條件查詢,需要導(dǎo)入and_依賴,返回and()條件滿足的所有數(shù)據(jù),代碼如下:fromsqlalchemyimportand_User.query.filter(and_(U!='chen',User.email.endswith('163.com'))).all()③使用邏輯或條件查詢,需要導(dǎo)入or_依賴,返回or()條件滿足其一的所有數(shù)據(jù),代碼如下:fromsqlalchemyimportor_User.query.filter(or_(U!='chen',User.email.endswith('163.com'))).all(任務(wù)資訊(6)刪除數(shù)據(jù)
一般會結(jié)合條件查詢進行數(shù)據(jù)刪除。如要刪除User表的第一條數(shù)據(jù),可執(zhí)行下面命令:user=User.query.first()db.session.delete(user)mit()最后可以使用User.query.all()查詢所有數(shù)據(jù),檢驗是否刪除了第一條記錄。任務(wù)資訊(7)更新數(shù)據(jù)更新數(shù)據(jù)一般也會結(jié)合條件進行更新。如要將第一條記錄的姓名修改為“dong”,先查詢出第一條記錄,修改name列值,再執(zhí)行事務(wù),代碼如下:user=User.query.first()='dong'mit()最后可以使用User.query.first()檢驗是否修改成功。任務(wù)實施本任務(wù)主要使用Flask操作MySQL數(shù)據(jù)庫,創(chuàng)建表,將某高職院校2015—2022年招生數(shù)據(jù)插入表,對數(shù)據(jù)進行查詢、修改、刪除等操作,并完成Web頁面數(shù)據(jù)展示。具體步驟:1.創(chuàng)建表提前在MySQL數(shù)據(jù)庫中創(chuàng)建名為“enroll”的數(shù)據(jù)庫。創(chuàng)建如下Python程序,實現(xiàn)項目4高校招生就業(yè)數(shù)據(jù)分析與可視化MySQL數(shù)據(jù)庫中表的創(chuàng)建。2.插入數(shù)據(jù)創(chuàng)建一個函數(shù)add_tb_data(),用模型類創(chuàng)建8個實例,插入8條記錄。3.將機械學(xué)院招生數(shù)(mechanics)大于1000,或者經(jīng)貿(mào)學(xué)院招生數(shù)(economy)小于500的記#錄刪除。4.查詢數(shù)據(jù)并通過Web頁面展示查詢出所有數(shù)據(jù),通過渲染模板將數(shù)據(jù)傳遞到網(wǎng)頁中去。網(wǎng)頁通過Jinja語句獲取后端傳遞過來的數(shù)據(jù)03整合活動總結(jié)、知識點梳理學(xué)習(xí)總結(jié)拓展任務(wù)1、在前面Flask操作數(shù)據(jù)庫
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美國與中國天然氣合同范本
- 年度光學(xué)儀器、零件及附件競爭策略分析報告
- 2025屆重慶市第二外國語學(xué)校物理高二第一學(xué)期期末綜合測試模擬試題含解析
- 2025屆新疆維吾爾自治區(qū)庫爾勒市新疆兵團第二師華山中學(xué)物理高一上期中監(jiān)測模擬試題含解析
- 2025屆北京市門頭溝區(qū)高三上物理期中考試試題含解析
- 山東省武城縣第二中學(xué)2025屆高三物理第一學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含解析
- 2025屆廣東省揭陽、金中物理高二上期末監(jiān)測試題含解析
- 2025屆重慶銅梁縣第一中學(xué)物理高二上期中復(fù)習(xí)檢測模擬試題含解析
- 2025屆山西省臨汾一中、翼城中學(xué)、曲沃中學(xué)等學(xué)校物理高二上期中聯(lián)考模擬試題含解析
- 2025屆甘肅省靖遠縣四中物理高三第一學(xué)期期末預(yù)測試題含解析
- 工業(yè)設(shè)計方法學(xué)
- GB/T 43218-2023煤炭測硫儀性能驗收導(dǎo)則
- 創(chuàng)新方法大賽理論測試題庫(2018、2019、經(jīng)典題庫)
- 湖北省武漢一初慧泉2023-2024+學(xué)年上學(xué)期9月同步練習(xí)Unit1-Unit+3九年級英語試卷
- 《中華商業(yè)文化》第五章
- (完整版)華為虛擬化技術(shù)方案
- 直播培訓(xùn)合作協(xié)議
- 3dMAX菜單中英文對照表(完整版)
- 分析化學(xué)期中試卷
- 企業(yè)供應(yīng)鏈保障措施怎么寫
- 大學(xué)生安全教育(綜合篇)學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
評論
0/150
提交評論