版權(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í)目標(biāo)介紹學(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í)目標(biāo)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ù)庫主要步驟如下:安裝依賴庫。當(dāng)我們使用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表示該字段為字符串?dāng)?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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB4117T 212-2019 羊肚菌栽培技術(shù)規(guī)程
- DB4116T 043-2023 規(guī)模化養(yǎng)牛場牛結(jié)節(jié)性皮膚病綜合防控技術(shù)規(guī)范
- DB4115T 036-2018 信陽養(yǎng)生菜烹飪技藝 煎燒小白魚
- DB4106T 53-2021 黨政機關(guān)一般公務(wù)用車管理規(guī)范
- 2024年投資權(quán)益轉(zhuǎn)讓合同
- 2024年新式空氣源熱泵安裝合作協(xié)議
- 董事會秘書工作計劃(3篇)
- 2024年攪拌站混凝土采購條款
- 關(guān)于感恩的演講稿初中(8篇范例)
- DB4113T 047-2023 玉雕工藝品包裝操作規(guī)范
- 人工智能技術(shù)應(yīng)用于智能醫(yī)療影像診斷營銷計劃書
- 《生活中的函數(shù)》課件
- 2022-2023學(xué)年福建省福州市福清市閩教版五年級上學(xué)期期中練習(xí)英語試卷(含聽力音頻)
- 生活區(qū)消防自查記錄表
- 2024屆廣東省深圳市寶安區(qū)寶安中學(xué)物理九上期中質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 工業(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ù)方案
評論
0/150
提交評論