You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.7 KiB
73 lines
1.7 KiB
1 year ago
|
from sqlalchemy import select
|
||
|
from s1_models import *
|
||
|
|
||
1 year ago
|
# 方法1 rp = ResultProxy
|
||
|
# s1 = select([cookies]) # 2.0废弃
|
||
|
# rp1 = connection.execute(s1)
|
||
|
# results1 = rp1.fetchall()
|
||
|
# print(results1)
|
||
|
#
|
||
|
# # 方法2
|
||
|
# s2 = cookies.select()
|
||
|
# str(s2)
|
||
|
# rp2 = connection.execute(s2)
|
||
|
# results2 = rp2.fetchall()
|
||
|
# print(results2)
|
||
|
# print(results2[0])
|
||
|
# first_row = results2[0]
|
||
|
# print(first_row[1])
|
||
|
# print(first_row.cookie_name)
|
||
|
# print(first_row[cookies.c.cookie_name])
|
||
|
#
|
||
|
|
||
|
# 添加查询参数
|
||
|
s3 = select([cookies.c.cookie_name, cookies.c.quantity])
|
||
|
rp3 = connection.execute(s3)
|
||
|
print(rp3.keys())
|
||
|
results3 = rp3.fetchall()
|
||
|
print(results3)
|
||
|
result_dict = [dict(zip(rp3.keys(), r)) for r in results3]
|
||
|
print(result_dict)
|
||
|
|
||
|
# 排序
|
||
|
s4 = select([cookies.c.cookie_name, cookies.c.quantity]).order_by(cookies.c.quantity)
|
||
|
rp4 = connection.execute(s4)
|
||
|
for cookie in rp4:
|
||
|
print(f"{cookie.quantity} - {cookie.cookie_name}")
|
||
|
|
||
|
# 反向排序
|
||
|
from sqlalchemy import desc
|
||
|
|
||
|
s5 = select([cookies.c.cookie_name, cookies.c.quantity]).order_by(desc(cookies.c.quantity))
|
||
|
rp5 = connection.execute(s5)
|
||
|
for cookie in rp5:
|
||
|
print(f"{cookie.quantity} - {cookie.cookie_name}")
|
||
|
|
||
|
# limit
|
||
|
s6 = select([cookies.c.cookie_name, cookies.c.quantity]).order_by(cookies.c.quantity).limit(2)
|
||
|
rp6 = connection.execute(s6)
|
||
|
for cookie in rp6:
|
||
|
print(f"{cookie.quantity} - {cookie.cookie_name}")
|
||
|
|
||
|
# sum
|
||
|
from sqlalchemy import func
|
||
|
|
||
|
s7 = select([func.sum(cookies.c.quantity)])
|
||
|
print(str(s7))
|
||
|
rp7 = connection.execute(s7)
|
||
|
print(rp7.scalar())
|
||
|
|
||
|
|
||
|
# count
|
||
|
s8 = select([func.count(cookies.c.cookie_name)])
|
||
|
print(str(s8))
|
||
|
rp8 = connection.execute(s8)
|
||
|
print(rp8.scalar())
|
||
|
|
||
|
|
||
|
# as
|
||
|
s9 = select([func.count(cookies.c.cookie_name).label('cookie_count')])
|
||
|
rp9 = connection.execute(s9)
|
||
|
r = rp9.first()
|
||
|
print(list(r.keys()))
|
||
|
print(r.cookie_count)
|