Python利用txt文件對Mysql進行增刪改查移
一、關(guān)系數(shù)據(jù)庫
1.數(shù)據(jù)模型
實體間的關(guān)系分為以下有三種:
1*)一對一模型
一對一(one-to-one)
關(guān)系模型用二維表格表示數(shù)據(jù)及數(shù)據(jù)聯(lián)系,是應(yīng)用最為廣泛的數(shù)據(jù)模型。目前,各種常用的數(shù)據(jù)庫,如Microsoft SQL Server、Microsoft Access、Microsoft FoxPro、Oracle、MySQL、SQLite等,都屬于關(guān)系模型數(shù)據(jù)庫管理系統(tǒng)。
2*)一對多模型
一對多(one-to-many)
層次模型采用樹狀結(jié)構(gòu)表示數(shù)據(jù)之間的聯(lián)系,樹的節(jié)點稱為記錄,記錄之間只有簡單的層次關(guān)系。有且只有一個節(jié)點沒有父節(jié)點,該節(jié)點稱為根節(jié)點;其他節(jié)點有且只有一個父節(jié)點。
3*)多對多模型
多對多(many-to-many)
可以有任意多個節(jié)點沒有父節(jié)點。一個節(jié)點允許有多個父節(jié)點。兩個節(jié)點之間可以有兩種或兩種以上聯(lián)系。
2.面相對象模型
1*)對象模型概念
面向?qū)ο竽P褪窃诿嫦驅(qū)ο蠹夹g(shù)基礎(chǔ)上發(fā)展起來一種的數(shù)據(jù)模型,它采用面向?qū)ο蟮姆椒▉碓O(shè)計數(shù)據(jù)庫。
2*) 對象模型特點
面向?qū)ο竽P偷臄?shù)據(jù)庫種存儲對象以對象為單位,每個對象包含對象的屬性和方法,具有類和繼承等特點。
二、了解關(guān)系數(shù)據(jù)庫的概念和特點
關(guān)系數(shù)據(jù)庫的概念和特點
1.基本概念
i*)關(guān)系
數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系稱為關(guān)系。
ii*)二維表
關(guān)系數(shù)據(jù)庫使用二維表來表示和存儲關(guān)系,一個關(guān)系就是一個二維表。表中的行稱為記錄,列稱為字段。一個數(shù)據(jù)庫可以包含多個表
iii*)記錄與字段
表中的一行稱為一個記錄。表中的列為記錄中的數(shù)據(jù)項,稱為字段。字段也稱為屬性或者列。每個記錄可以包含多個字段,不同記錄包含相同的字段(字段的值不同)。例如,用戶表中的每個記錄包含用戶名、登錄密碼等字段。
關(guān)系數(shù)據(jù)庫不允許在一個表中出現(xiàn)重復(fù)的記錄。
VI*)關(guān)鍵字
可以唯一標(biāo)識一個記錄的字段或字段組合稱為關(guān)鍵字。一個表可有多個關(guān)鍵字,其中用于標(biāo)識記錄的關(guān)鍵字稱為主關(guān)鍵字,其他的關(guān)鍵字可稱為候選關(guān)鍵字。一個表只允許有一個主關(guān)鍵字。例如,用戶表中的用戶名可定義為主關(guān)鍵字,在添加記錄時,主關(guān)鍵字不允許重復(fù)。
VII*)外部關(guān)鍵字
如果一個表中的字段或字段組合作為其他表的主關(guān)鍵字,這樣的字段或字段組合稱為外部關(guān)鍵字。
2.基本特點
關(guān)系數(shù)據(jù)庫中的表是二維表,表中的字段必須是不可再分的,即不允許表中表。
在同一個表中不允許出現(xiàn)重復(fù)的記錄。
在同一個記錄中不允許出現(xiàn)重復(fù)的字段。
表中記錄先后順序不影響數(shù)據(jù)的性質(zhì),可以交換記錄順序。
記錄中字段的順序不影響數(shù)據(jù),可以交換字段的順序。
三、常用字段數(shù)據(jù)類型
數(shù)據(jù)表格
四、在spyder中調(diào)用文件TXT內(nèi)容進入程序
第一步、首先我們需要把文件里面的內(nèi)容寫進spyder
當(dāng)我們文件寫入spyder成功后,就可以編寫程序啦!
第二步、編寫菜單程序
1.制作主頁菜單
def query_record(): print('查詢學(xué)生記錄') def modify_record(): print('修改學(xué)生記錄') def delete_record(): print('刪除學(xué)生記錄') def add_record(): print('增加學(xué)生記錄') def exit_record(): print("退出系統(tǒng)") def login(): while True: print('主菜單') print('============='*2) print('1. 查詢記錄') print('2. 修改記錄') print('3. 刪除記錄') print('4. 增加記錄') print('5. 退出系統(tǒng)') print('=============='*2) mc2 = int(input('輸入菜單號:')) if mc2 == 1: query_record() elif mc2 == 2: modify_record() elif mc2 == 3: delete_record() elif mc2 == 4: add_record() elif mc2 == 5: exit_record() else: break
當(dāng)我們編寫完菜單程序之后就可以針對菜單程序編寫對應(yīng)程序
編寫相對應(yīng)的程序菜單,列如編寫進入查詢記錄菜單過后的程序
2.制作程序菜單
while True: print('============'*2) print('1. 查詢學(xué)生記錄') print('2. 修改學(xué)生記錄') print('3. 刪除學(xué)生記錄') print('4. 增加學(xué)生記錄') print('5. 退出系統(tǒng)') print('============'*2)
當(dāng)我們編寫完畢之后,總體的架構(gòu)也就有了,這樣就可以逐步實現(xiàn)每個菜單號所對應(yīng)的代碼啦!
首先編寫查詢學(xué)生學(xué)號的程序
3.編寫查詢學(xué)號程序
mc1 = int(input('請輸入菜單號:')) if mc1 == 1: id=input("請輸入您想查詢的學(xué)號:") for student in students: found=False if (student[0]==id): found=True print("恭喜記錄查詢成功!") print() for i in range(len(student)): print(student[i],end=" ") print() break if not found: print("姓名為{}的同學(xué)沒有找到!".format(id))
查詢到所要修改的學(xué)號后,輸入修改后的新學(xué)號
4.編寫修改學(xué)號程序
elif mc1==2: id=input("請輸入您想修改的學(xué)號:") for student in students: found=False if (student[0]==id): found=True student=list(student) student[7]=int(input("輸入新的電話號碼:")) student[3]=int(input("輸入新的年齡:")) print("恭喜記錄修改成功!") for i in range(len(student)): print(student[i],end=" ") print() break if not found: print("姓名為{}的同學(xué)沒有找到!".format(id))
查詢記錄程序編完之后就可以進行修改記錄程序的編寫了
5.編寫學(xué)號程序
elif mc1==2: id=input("請輸入您想修改的學(xué)號:") for student in students: found=False if (student[0]==id): found=True student=list(student) student[7]=int(input("輸入新的電話號碼:")) student[3]=int(input("輸入新的年齡:")) print("恭喜記錄修改成功!") for i in range(len(student)): print(student[i],end=" ") print() break if not found: print("姓名為{}的同學(xué)沒有找到!".format(id))
修改記錄程序編完之后就可以進行刪除記錄程序的編寫了
6.編寫刪除學(xué)生記錄程序
elif mc1==3: id=input("請輸入你想刪除的學(xué)生學(xué)號:") found=False for student in students: if (student[0]==id): found=True students.remove(student) print("恭喜記錄刪除成功!") print() break if not found: print("姓名為{}的同學(xué)沒有找到!".format(id)) else: for student in students: for i in range(len(student)): print(student[i],end=" ") print()
刪除記錄程序編完之后就可以進行增加記錄程序的編寫了!
7.編寫增加學(xué)生記錄程序
第三步、退出系統(tǒng)即可
以上就是Python利用txt文件對Mysql進行增刪改查移的詳細(xì)內(nèi)容,更多關(guān)于Python Mysql增刪改查移的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于python實現(xiàn)在excel中讀取與生成隨機數(shù)寫入excel中
最近接個項目,項目要求是這樣的:在一份已知的excel表格中讀取學(xué)生的學(xué)號與姓名,再將這些數(shù)據(jù)放到新的excel表中的第一列與第二列,最后再生成隨機數(shù)作為學(xué)生的考試成績,具體實現(xiàn)代碼大家參考下本文2018-01-01python使用matplotlib:subplot繪制多個子圖的示例
這篇文章主要介紹了python使用matplotlib:subplot繪制多個子圖的示例,幫助大家更好的利用python繪制圖像,感興趣的朋友可以了解下2020-09-09Python使用微信itchat接口實現(xiàn)查看自己微信的信息功能詳解
這篇文章主要介紹了Python使用微信itchat接口實現(xiàn)查看自己微信的信息功能,結(jié)合實例形式分析了Python微信itchat模塊常見功能與操作技巧,需要的朋友可以參考下2019-08-08詳解APScheduler如何設(shè)置任務(wù)不并發(fā)
本文主要介紹了APScheduler如何設(shè)置任務(wù)不并發(fā),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07淺談Python小波分析庫Pywavelets的一點使用心得
這篇文章主要介紹了淺談Python小波分析庫Pywavelets的一點使用心得,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07跟老齊學(xué)Python之集成開發(fā)環(huán)境(IDE)
IDE的全稱是:Integrated Development Environment,簡稱IDE,也稱為Integration Design Environment、Integration Debugging Environment,翻譯成中文叫做“集成開發(fā)環(huán)境”,在臺灣那邊叫做“整合開發(fā)環(huán)境”。2014-09-09