flask sqlalchemy 查詢sql語句的相關方法---後期重點研究項目

github上的語句,經過嘗試可以使用

from sqlalchemy import text

sql = text('select name from penguins')
result = db.engine.execute(sql)
names = [row[0] for row in result]
print names

需要對sql語句進一步熟悉關聯查詢、多條件查詢等功能,後期重點研究項目,可以有效簡化代碼。

下圖也是flask sqlalchemy 直接查詢sql語句的示例。

#!/usr/bin/ python
#encoding:utf8

from sqlalchemy import *
from sqlalchemy.orm import *
#alchemy5實現創建數據庫表格功能
from alchemy5 import *

#功能:測試操作連接
#這裏的連接指條件查詢的時候,邏輯運算符的連接,即 and or 和 not
print '#'*15
union = and_(user.c.name.like('%j'),
             user.c.id == address.c.user_id,
        or_(address.c.email == '[email protected]',
            address.c.email == '[email protected]'),
        not_(user.c.id>5)
        )
print union
print '#'*15
#######################完整例子#########################3
se_sql = [(user.c.fullname +", " + address.c.email).label('title')]
wh_sql = and_(
              user.c.id == address.c.user_id,
              user.c.name.between('m', 'z'),
              or_(
                  address.c.email.like('%@aol.com'),
                  address.c.email.like('%@msn.com')
              )
         )
#print wh_sql
s = select(se_sql).where(wh_sql) #第一步 select()
#print s
r = conn.execute(s) #第二步 execute()
result = r.fetchall()   #第三步 fetchall()取結果
print result
print '#'*15

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章