1.功能簡介
此程序模擬員工信息數據庫操作,按照語法輸入指令即能實現員工信息的增、刪、改、查功能。
2.實現方法
• 架構:
本程序采用python語言編寫,關鍵在于指令的解析和執行:其中指令解析主要運用了正則表達式來高效匹配有效信息;指令執行通過一個commd_exe主執行函數和增、刪、改、查4個子執行函數來實現,操作方法主要是運用面向對象方法將員工信息對象化,從而使各項操作都能方便高效實現。程序主要函數如下:
(1)command_exe(command)
指令執行主函數,根據指令第一個字段識別何種操作,并分發給相應的處理函數執行。
(2)add(command)
增加員工記錄函數,指令中需包含新增員工除id號以外的其他所有信息,程序執行后信息寫入員工信息表最后一行,id號根據原最后一條記錄的id號自增1。
(3)delete(command)
刪除員工記錄函數,可根據where后的條件檢索需刪除的記錄,并從信息表中刪除。
(4)update(command)
修改和更新員工記錄函數,根據where后的條件檢索需更新的記錄,根據set后的等式修改和更新指定的信息。
(5)search(command)
查詢員工記錄函數,根據where后的條件查詢到相應的記錄,根據select后的關鍵字來顯示記錄的指定信息,如果為*顯示記錄的所有信息。
(6)verify(staff_temp,condition)
員工信息驗證函數,傳入一個對象化的員工記錄和指令中where后的條件字符串,判斷記錄是否符合條件,符合在返回True,否則返回False。指令包含where字段的刪、改、查操作會調用此函數。
(7)logic_cal(staff_temp,logic_exp)
單個邏輯表達式的運算函數,傳入一個對象化的員工記錄和從where條件字符串中被and、or、not分割的單個表達式,實現=,>,<,>=,<=,like等確定的一個邏輯表達式的運算,返回結果為True或False。
• 主要操作:
數據記錄包含6個關鍵字:id,name,age,phone,dept,enroll_date
指令可用的邏輯運算符:<,>,=,<=,>=,like,and,or,not
數據庫操作:
1.增(add to xxxx values xxxx)
示例:add to staff_table values Alex Li,22,13651054608,IT,2013-04-01
2.刪(delete from xxxx where xxxx)
示例:delete from staff_table where age<=18 and enroll_date like "2017"
3.改(update xxxx set xxxx where xxxx)
示例:
update staff_table set dept="Market",age=30 where dept="IT" and phone like "189"
4.查(select xxxx from xxxx where xxxx)
示例1:
select * from staff_table where age>=25 and not phone like "136" or name like "李"
示例2:
select name,age,dept from db.txt where id<9 and enroll_date like "-05-"
示例3:select * from staff_table where * #顯示所有記錄
新聞熱點
疑難解答