您好,登錄后才能下訂單哦!
如何進行web.py數據庫入門,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
web.py是一個非常精巧的web框架,不過其自帶的db模塊也是非常精簡而高效。和Java里面復雜的JDBC和繁瑣的Hibernat配置相比,使用web.db真是既簡單又明了。
創建數據庫對象:
db = web.database(dbn='mysql', user='user', pw='pass', db='dbname')
dbn指定數據庫類型
查詢:
users = db.query('select * from user where id>$id', vars={'id':100})
for user in users: print user.id, user.name
查詢參數用$var_name表示,查詢時用vars dict中的值替換
查詢得到的是迭代對象,直接循環
至于每個對象的具體屬性,和字段名一一對應。沒有任何預定義的class,沒有映射和配置,一切都是約定,你需要的是自己管理好數據庫字段的命名。
插入:
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參數,只有傳入的**kw才被update,其他字段保持不變。
where和vars負責where語句的生成和綁定參數。
刪除:
db.delete('user', where='id=$id', vars={'id':100})
和update類似,不過沒有**kw,因為delete只需要where子句。
和Java比,web.py的db操作非常簡單,這主要得益于python的**kw參數和內建的dict支持(對應Java的Map)
試想,如果用Java的Map來傳入參數,你不得不編寫:
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開發的時候,我們總是習慣分成web,logic,dao層,然而,當極少的代碼量即可完成所有工作時,真的看不出分層的意義。我使用web.py僅需600行代碼就寫完了網站所有的邏輯,因此,整個網站只有一個app.py文件,根本無需拆分web, db。
動態語言是一種趨勢,尤其在web應用中。
關于如何進行web.py數據庫入門問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。