如何進行web.py數(shù)據(jù)庫入門,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)建站始終堅持【策劃先行,效果至上】的經營理念,通過多達10余年累計超上千家客戶的網站建設總結了一套系統(tǒng)有效的網絡營銷推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:成都墻體彩繪等企業(yè),備受客戶贊許。
web.py是一個非常精巧的web框架,不過其自帶的db模塊也是非常精簡而高效。和Java里面復雜的JDBC和繁瑣的Hibernat配置相比,使用web.db真是既簡單又明了。
創(chuàng)建數(shù)據(jù)庫對象:
db = web.database(dbn='MySQL', user='user', pw='pass', db='dbname')
dbn指定數(shù)據(jù)庫類型
查詢:
users = db.query('select * from user where id>$id', vars={'id':100})
for user in users: print user.id, user.name
查詢參數(shù)用$var_name表示,查詢時用vars dict中的值替換
查詢得到的是迭代對象,直接循環(huán)
至于每個對象的具體屬性,和字段名一一對應。沒有任何預定義的class,沒有映射和配置,一切都是約定,你需要的是自己管理好數(shù)據(jù)庫字段的命名。
插入:
db.insert('user', name='Michael', age=29, passwd='passwd', email='abc@xyz.com')
插入利用了python的**kw提供字段值,非常方便
修改:
db.update('user', where='id=$id', vars={'id':100}, name='Michael', age=29)
update也充分利用了python的**kw參數(shù),只有傳入的**kw才被update,其他字段保持不變。
where和vars負責where語句的生成和綁定參數(shù)。
刪除:
db.delete('user', where='id=$id', vars={'id':100})
和update類似,不過沒有**kw,因為delete只需要where子句。
和Java比,web.py的db操作非常簡單,這主要得益于python的**kw參數(shù)和內建的dict支持(對應Java的Map)
試想,如果用Java的Map來傳入?yún)?shù),你不得不編寫:
Map where_vars = new HashMap();
where_vars.put("id", 100);
Map update_vars = new HashMap();
update_vars.put("name", "Michael");
update_vars.put("age", 29);
db.update("user", "where id=$id", where_vars, update_vars);
不煩死才怪。
在使用Java進行web開發(fā)的時候,我們總是習慣分成web,logic,dao層,然而,當極少的代碼量即可完成所有工作時,真的看不出分層的意義。我使用web.py僅需600行代碼就寫完了網站所有的邏輯,因此,整個網站只有一個app.py文件,根本無需拆分web, db。
動態(tài)語言是一種趨勢,尤其在web應用中。
關于如何進行web.py數(shù)據(jù)庫入門問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。
分享名稱:如何進行web.py數(shù)據(jù)庫入門
本文URL:http://www.rwnh.cn/article44/igjpee.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、用戶體驗、網站制作、定制開發(fā)、營銷型網站建設、做網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)