最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

web.py數(shù)據(jù)庫操作指南

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 15:44:20
文檔

web.py數(shù)據(jù)庫操作指南

web.py數(shù)據(jù)庫操作指南:原文:http://chenxiaoyu.org/blog/archives/226 官網(wǎng)地址:http://webpy.org/ web.py是一個小巧靈活的框架,最新穩(wěn)定版是0.33。這里不介紹web開發(fā)部分,介紹下關(guān)于數(shù)據(jù)庫的相關(guān)操作。 很多Pyer一開始都喜歡自己封裝數(shù)據(jù)庫操作類,本人亦如此。不過后來
推薦度:
導(dǎo)讀web.py數(shù)據(jù)庫操作指南:原文:http://chenxiaoyu.org/blog/archives/226 官網(wǎng)地址:http://webpy.org/ web.py是一個小巧靈活的框架,最新穩(wěn)定版是0.33。這里不介紹web開發(fā)部分,介紹下關(guān)于數(shù)據(jù)庫的相關(guān)操作。 很多Pyer一開始都喜歡自己封裝數(shù)據(jù)庫操作類,本人亦如此。不過后來

原文:http://chenxiaoyu.org/blog/archives/226 官網(wǎng)地址:http://webpy.org/ web.py是一個小巧靈活的框架,最新穩(wěn)定版是0.33。這里不介紹web開發(fā)部分,介紹下關(guān)于數(shù)據(jù)庫的相關(guān)操作。 很多Pyer一開始都喜歡自己封裝數(shù)據(jù)庫操作類,本人亦如此。不過后來通過

原文:http://chenxiaoyu.org/blog/archives/226

官網(wǎng)地址:http://webpy.org/

web.py是一個小巧靈活的框架,最新穩(wěn)定版是0.33。這里不介紹web開發(fā)部分,介紹下關(guān)于數(shù)據(jù)庫的相關(guān)操作。

很多Pyer一開始都喜歡自己封裝數(shù)據(jù)庫操作類,本人亦如此。不過后來通過觀摩web.py的源碼,發(fā)現(xiàn)其數(shù)據(jù)庫操作部分相當(dāng)緊湊實用。推薦懶人可以嘗試一下。

廢話不多,先來安裝,有兩種方式:

1. easy_install方式,如果木有此工具,可以參考:http://chenxiaoyu.org/blog/archives/23

easy_install web.py

2. 下載源碼編譯。地址: http://webpy.org/static/web.py-0.33.tar.gz ,解壓后執(zhí)行:

python setup.py install

web.py安裝算到此結(jié)束,如果想使用其中的db功能,還得借助與相應(yīng)數(shù)據(jù)庫操作模塊,比如MySQLdb、psycopg2。如果需要嘗試連接池(database pool)功能,還得裝下DBUtils。這幾個模塊都可以通過easy_install來安裝。

下面開始使用吧!

1. 導(dǎo)入模塊,定義數(shù)據(jù)庫連接db。

import web
db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')

2. select 查詢

# 查詢表
entries = db.select('mytable')

# where 條件
myvar = dict(name="Bob")
results = db.select('mytable', myvar, where="name = $name")
results = db.select('mytable', where="id>100")

# 查詢具體列
results = db.select('mytable', what="id,name")

# order by
results = db.select('mytable', order="post_date DESC")

# group
results = db.select('mytable', group="color")

# limit
results = db.select('mytable', limit=10)

# offset
results = db.select('mytable', offset=10)

3. 更新

db.update('mytable', where="id = 10", value1 = "foo")

4. 刪除

db.delete('mytable', where="id=10")

5. 復(fù)雜查詢

# count
results = db.query("SELECT COUNT(*) AS total_users FROM users")
print results[0].total_users

# join
results = db.query("SELECT * FROM entries JOIN users WHERE entries.author_id = users.id")

# 防止SQL注入可以這么干
results = db.query("SELECT * FROM users WHERE id=$id", vars={'id':10})

6 多數(shù)據(jù)庫操作 (web.py大于0.3)

db1 = web.database(dbn='mysql', db='dbname1', user='foo')
db2 = web.database(dbn='mysql', db='dbname2', user='foo')

print db1.select('foo', where='id=1')
print db2.select('bar', where='id=5')

7. 事務(wù)

t = db.transaction()
try:
 db.insert('person', name='foo')
 db.insert('person', name='bar')
except:
 t.rollback()
 raise
else:
 t.commit()

# Python 2.5+ 可以用with
from __future__ import with_statement
with db.transaction():
 db.insert('person', name='foo')
 db.insert('person', name='bar')

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

web.py數(shù)據(jù)庫操作指南

web.py數(shù)據(jù)庫操作指南:原文:http://chenxiaoyu.org/blog/archives/226 官網(wǎng)地址:http://webpy.org/ web.py是一個小巧靈活的框架,最新穩(wěn)定版是0.33。這里不介紹web開發(fā)部分,介紹下關(guān)于數(shù)據(jù)庫的相關(guān)操作。 很多Pyer一開始都喜歡自己封裝數(shù)據(jù)庫操作類,本人亦如此。不過后來
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top