python query_python访问数据库, SQLAlchemy中的Query方法

SQLAlchemy

中的

Query

方法

SQLAlchemy

中执行查询是通过

session

对象的

query

方法完成的。

query

方法非常灵活,

你可以根据需要使用不同的查询方式查找数据,下面一一举例。

1.

直接通过映射类查找:

#Querying user instance

for instance in session.query(User).order_by(User.id):

print instance.name,instance.fullname

这种方法只要在

query

方法中,

将映射类作为参数,

就可以查询出这个映射类代表的数据库

表中的数据。其相当于下面的

SQL

语句:

SELECT users.id AS users_id, users.name AS users_name,

users.fullname AS users_fullname, users.password AS users_password

FROM users ORDER BY users.id

2.

通过映射类的属性字段查询:

#Querying by ORM-instrument

for name,fullname in session.query(User.name,User.fullname):

print name,fullname

这种方法指定了查询的具体字段,而不是像第一种方法那样把映射类的所有字段都查询出

来,其相当于执行了下面的

SQL

语句:

SELECT users.name AS users_name, users.fullname AS users_fullname

FROM users

3.query

查询的结果是保存在一个元组中的,

所以我们可以在

query

中指定返回整个的映射

类对象和其中的部分属性字段:

#Querying as a Python object

for row in session.query(User,User.name).all():

print row.User,row.name

这种查询方法可以返回一个

User

对象以及它的

name

属性字段的值,

其相当于执行了下面的

SQL

语句:

SELECT users.id AS users_id, users.name AS users_name, users.fullname AS

users_fullname, users.password AS users_password

FROM users

其输出结果为一个元组和一个字符串:

<user("ed","Ed Jones","f8x902")> ed

<user("Wendy","Wendy Williams","foobar")> Wendy

<user("Marry","Marry Contrary","xxg527")> Marry

<user("Fred","Fred Flinstone","blah")> Fred

4.

我们还可以给返回的结果起一个别名,或者叫标签:

#Querying labeled

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值