webpy_web.database模塊
webpy框架中使用mysql管理數據庫有兩種方法,一種是使用python里面的MySQLdb模塊:
import MySQLdb
還有一種就是用webpy自帶的web.database模塊,實現的功能與MySQLdb模塊基本一樣:
import web db = web.database( dbn = 'mysql', user = 'root', pw = 'password', db = 'db_name', )
上面是創建一個數據庫對象db,參數user為用戶名,pw為密碼,db為數據庫名
db對象支持以下操作:
- insert
- select
- update
- delete
- multiple inserts
- advanced querying
- joining tables
inserting
先建一個表todos
create table users( id int primary key auto_increment, name nchar(20), password nchar(20), address nchar(20))
插入一項數據:
db.insert('users', name = 'Bob', password = '123', address = 'Zhuhai')
selecting
select返回的是'web.iterbetter'類型的對象,可以轉化為list()來進行處理,每個list的元素是Storage類型,類似與python的字典,可以直接通過關鍵字來得到需要的值
users = list(db.select('users', where="id>10")) print users[0]['name'] 'Bob'
updating
num_updated = db.update('users', where="id = 10", address = 'Guangzhou')
返回值是修改的行數
deleting
db.delete(), 與update() 用法一樣
advanced querying
如果對mysql語句比較熟悉的可以直接直接執行mysql語句:
results = list(db.query("select * from users where name = '%s'" % 'Bob')) print results[0]['name'], results[0]['address'] 'Bob', 'Zhuhai'