基本sql操作
--------------------------------------------------------------------------
查询多行
(打印年龄大于18的用户名)
for row in db.query('select * from user where age>%s',18)
print row.name
查询单行
(获取id=5的用户)
user=db.query('select * from user where id=%s',5)
执行sql
(更新生日大于等于8月23日的用户年龄+1)
db.query('update user set age=age+1 where DATE_FORMAT(birth,'%%Y-%%m-%%d')>=%s','2010-08-23')
方法:
名称:group_by
参数:*conds对象
返回值:Select对象
用途:加入group by操作的设定
例子:q=db.tablename(db.tablename.col1>5)
q.select.group_by(db.tablename.age)
sql:select * from tablename where col1>5 group by age
名称:having
参数:conds对象
返回值:Select对象
用途:加入having设定
例子:q=db.tablename(db.tablename.col1>5)
q.select.group_by(db.tablename.age).having(db.tablename.col2.count>6)
sql:select * from tablename where col1>5 group by age having count(col2)>6
备注:必须在调用了group_by的前提下才能调用having,否则having条件不生效
名称:collect
参数:*conds
返回值:Select对象
用途:设定要筛选出的字段
例子:q=db.tablename(db.tablename.col1>5)
q.select.collect(db.tablename.col1,db.tablename.col12)
sql:select col1,col2 from tablename where col1>5
名称:limit
参数:start,count
返回值:Select对象
用途:设定limit参数
例子:q=db.tablename(db.tablename.col1>5)
q.select.collect(db.tablename.col1,db.tablename.col12).limit(10,10)
sql:select col1,col2 from tablename where col1>5 limit 10,10