【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
用python编写数据库的代码很方便,但是如果不想自己写sql语句,其实还有更多的讨巧办法。使用webpy的db库就是不错的一个选择。当然为了使用webpy的db,之前你还需要安装MySQLdb,其他的就不需要做什么了。
sudo apt-get install python-MySQLdb
sudo apt-get install python-webpy
import web
db = web.database(dbn='mysql', db='blog', user='root', pw='123456')
如果mysql和webpy不是在同一个server上,那么在创建database的时候,还要加上host参数、即ip地址,port参数、即端口就可以了。
def get_pages():
return db.select('pages', order='id DESC')
def get_page_by_url(url):
try:
return db.select('pages', where='url=$url', vars=locals())[0]
except IndexError:
return None
def get_page_by_id(id):
try:
return db.select('pages', where='id=$id', vars=locals())[0]
except IndexError:
return None
def new_page(url, title, text):
db.insert('pages', url=url, title=title, content=text)
def del_page(id):
db.delete('pages', where="id=$id", vars=locals())
def update_page(id, url, title, text):
db.update('pages', where="id=$id", vars=locals(),
url=url, title=title, content=text)
其中db的table设计为,
CREATE TABLE pages (
id INT AUTO_INCREMENT,
url TEXT,
title TEXT,
content TEXT,
primary key (id)
);
如果需要查看db类生成的sql语句是什么样子的,比如说这样,
db.select('pages', order='id DESC', _test=True)
在web.database创建的时候,其实此时没有连接,只是设置了dbn、db、user、password这些基本属性,只有select、insert、delete、update的时候才会进行连接。
建议大家直接到webpy官网看示例代码,这样学的更快一些。关于MySQLdb的操作,大家可以看这一篇链接。