webpy使用mysql数据库操作(web.database)

webpy_web.database模块

webpy框架中使用mysql管理数据库有两种方法,一种是使用python里面的MySQLdb模块:

1
import MySQLdb

 

还有一种就是用webpy自带的web.database模块,实现的功能与MySQLdb模块基本一样:

1
2
3
4
5
6
7
8
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

1
2
3
4
5
create table users(
        id int primary key auto_increment,
        name nchar(20),
        password nchar(20),
        address nchar(20))

  

插入一项数据:

1
db.insert('users', name = 'Bob', password = '123', address = 'Zhuhai')

  

selecting

select返回的是'web.iterbetter'类型的对象,可以转化为list()来进行处理,每个list的元素是Storage类型,类似与python的字典,可以直接通过关键字来得到需要的值

1
2
3
4
users = list(db.select('users', where="id>10"))
print users[0]['name']
  
'Bob'
updating
1
num_updated = db.update('users', where="id = 10", address = 'Guangzhou')

返回值是修改的行数

deleting

db.delete(), 与update() 用法一样

advanced querying

如果对mysql语句比较熟悉的可以直接直接执行mysql语句:

1
2
3
4
results = list(db.query("select * from users where name = '%s'" % 'Bob'))
print results[0]['name'], results[0]['address']
  
'Bob', 'Zhuhai'
 
posted @   程序生(Codey)  阅读(1223)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示