博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web.py 0.3 新手指南 - 使用db.query进行高级数据库查询
阅读量:4107 次
发布时间:2019-05-25

本文共 642 字,大约阅读时间需要 2 分钟。

问题:

您要执行的SQL语句如:高级的联接或计数。

解决:

webpy不会尝试为您和您的数据库建立层。相反,它试图以方便的通用任务,走出自己的方式,当您需要做的更高级的主题。执行高级的数据库查询是没有什么不同。例如:

import webdb = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')results = db.query("SELECT COUNT(*) AS total_users FROM users")print results[0].total_users # -> prints number of entries in 'users' table

或者是,使用一个JOIN示例:

import webdb = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')results = db.query("SELECT * FROM entries JOIN users WHERE entries.author_id = users.id")

为了防止SQL注入攻击,db.query还接受了“vars”语法如下描述:

results = db.query("SELECT * FROM users WHERE id=$id", vars={'id':10})

这将避免用户输入,如果你信任这个“id”变量。

转载地址:http://nzosi.baihongyu.com/

你可能感兴趣的文章
sed之递归替换操作
查看>>
Mysql之修改表的编码字符集
查看>>
Mysql之Incorrect string value: '\xF0\x9F\x98\x89 \xE6...'
查看>>
linux之shell遍历目录下所有文件
查看>>
freemarker模板中long类型的逗号问题
查看>>
class.getResources("/")报空指针
查看>>
linux系统下查看nginx配置文件路径
查看>>
mysql查询某表索引
查看>>
shell读取文件内容并进行变量赋值
查看>>
shell之命令行参数传递
查看>>
Java标准库提取URL的域名
查看>>
apache common包的configuration2使用
查看>>
Java中的非对称加密算法RSA实现
查看>>
linux截取指定行数范围内的内容
查看>>
shell查找某字符在文件中出现行数
查看>>
linux下获取某文件的总行数
查看>>
SpringBoot 异常 java.io.FileNotFoundException: class path resource [com/sxw/springbootproducer/mappin
查看>>
SpringBoot 异常 java.sql.SQLException: No suitable driver
查看>>
SSM 异常 浏览器访问对应URI请求, 后台找不多对应handler
查看>>
mysql错误 java.sql.SQLException: Column count doesn't match value count at row 1几种情况
查看>>