標籤:迴圈 匯入 基礎 span cti 有序 drag 輸入 代碼
作業要求及初步思路
員工資訊表程式,實現增刪改查操作:
① 可進行模糊查詢,文法至少支援下面3種:
select name,age from staff_table where age > 22select * from staff_table where dept = "IT"select * from staff_table where enroll_date like "2013"②
- 解決方案: sql語句的python解析問題,即將使用者輸入的sql語句轉為我們代碼可以正確執行的動作。針對關鍵字where, values, limit, set 和 like等,建立字典作為key值。解析sql語句後,將相應資訊賦值為value。 針對錶欄位name 和 age, 用for 迴圈列印字典擷取key為name 和 age的value。
② 查到的資訊,列印後,最後面還要顯示查到的條數
- 解決方案: 讀取json檔案到字典,滿足條件查詢到後加入New_Dict, 運用len()計算key值。
③ 可建立新員工紀錄,以phone做唯一鍵,staff_id需自增
- 解決方案: 以phone number作為唯一鍵,即在建立主要字典存入json的格式為: {1390000000: {‘name‘: ‘may Lol‘, ‘age‘: 23, ‘staff_id‘: xxxxxx, ‘enroll_date‘: xxxxxxxx}}
- staff_id 自增, 需要建立在有序字典, 匯入collection 模組, collections.OrderedDict
④ 可刪除指定員工資訊紀錄,輸入員工id,即可刪除
⑤ 可修改員工資訊,文法如下:
UPDATE staff_table SET dept="Market" where dept = "IT"
⑥ 以上需求,要充分使用函數,請盡你的最大限度來減少重複代碼
大約設計的函數有:
- loaded_from_file: 讀取json檔案
- write_into_file: 寫入json檔案
- sql_parse: sql語句解析
- add, delete, update, search: 增撒改查
- main: 入庫函數
知識點
1. python解析sql語言的執行過程: 這個是讓人很頭疼的問題,這篇文章寫的簡介明了。 代碼如下:
樣本
sample 1
sample 2
sample 3
詳細描述參考http://www.cnblogs.com/alex3714/articles/5740985.html
Python 基礎 - Day 4 Assignment - 員工資訊表程式