1.peewee支持的运算符
![在这里插入图片描述](https://img-blog.csdnimg.cn/154a093137f24613bfd095eb0122e41b.png)
2.peewee支持的方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/6ef26c9d4af5408e84be7887b3c466a9.png)
3.pewee支持的逻辑运算符
![在这里插入图片描述](https://img-blog.csdnimg.cn/4af391e30ef247e493cd3a4e7725696b.png)
4.通过类名的方法直接获取数据测试代码展现
def query_data1():
m = Music.get(Music.id == 2)
print(f"Music.get========={m}")
print(f"Music.get========={m.singer}")
m = Music.get_by_id(2)
print(f"Music.get_by_id========={m}")
print(f"Music.get_by_id========={m.singer}")
m = Music[2]
print(f"Music[2]========={m}")
print(f"Music[2]========={m.singer}")
'''
Music.get=========2
Music.get=========薛之谦
Music.get_by_id=========2
Music.get_by_id=========薛之谦
Music[2]=========2
Music[2]=========薛之谦
'''
5.通过SELECT方法查询代码展示
def query_by_select():
tmp_ms = Music.select().execute()
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
4===故乡的云===费翔===0
5===诺言Jason===青城山下白素贞===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
if __name__ == '__main__':
tmp = query_by_select()
for m in tmp:
print(f'{m.id}==={m.name}==={m.singer}==={m._type}')
6.过滤列,通过select方法中增加列名
def query_by_select_field():
tmp_ms = Music.select(Music.id,Music.name,Music.singer,Music._type).execute()
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
4===故乡的云===费翔===0
5===诺言Jason===青城山下白素贞===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
7.过滤数据,通过where单个条件
def query_by_select_data1():
tmp_ms = Music.select().where(Music.id>5)
return tmp_ms
'''
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
8.过滤数据,通过where多个条件and
def query_by_select_data2():
tmp_ms = Music.select().where((Music.id>5) & (Music.singer == 'By2'))
return tmp_ms
'''
7===爱丫爱丫===By2===0
'''
9.过滤数据,通过where多个条件or
def query_by_select_data3():
tmp_ms = Music.select().where((Music.id>5) | (Music.singer == '林志炫'))
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
10.过滤数据,模糊查询
def query_by_select_like():
tmp_ms = Music.select().where(Music.name.contains('你'))
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
8===我也曾像你一样===马天宇===0
'''
11.过滤数据,排序
def query_by_select_like():
tmp_ms = Music.select().order_by(Music.id)
tmp_ms = Music.select().order_by(Music.id.asc())
tmp_ms = Music.select().order_by(+Music.id)
tmp_ms = Music.select().order_by(Music.id.desc())
tmp_ms = Music.select().order_by(-Music.id)
return tmp_ms
12.处理数据,分页
def query_by_select_page():
tmp_ms = Music.select().paginate(1,3)
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
'''
13.完整代码
from peewee import *
from peewee import database_required
db = MySQLDatabase('tornado_db', host='127.0.0.1', port=3306, user='root',passwd='root')
class BaseModel(Model):
class Meta:
database = db
class Commany(BaseModel):
name = CharField(verbose_name='公司名称')
full_name = CharField(verbose_name='公司全名称')
year = IntegerField(verbose_name='开业时间')
class Meta:
table_name = 't_commany'
class Music(BaseModel):
name = CharField(verbose_name='音乐名称')
singer = CharField(verbose_name='演唱者')
duration = IntegerField(verbose_name='时长')
_type = IntegerField(verbose_name='类型')
commany = ForeignKeyField(Commany, verbose_name='版权所属',backref='musics')
class Meta:
table_name = 't_music'
def init_table():
db.create_tables([Commany,Music])
def query_data1():
m = Music.get(Music.id == 2)
print(f"Music.get========={m}")
print(f"Music.get========={m.singer}")
m = Music.get_by_id(2)
print(f"Music.get_by_id========={m}")
print(f"Music.get_by_id========={m.singer}")
m = Music[2]
print(f"Music[2]========={m}")
print(f"Music[2]========={m.singer}")
'''
Music.get=========2
Music.get=========薛之谦
Music.get_by_id=========2
Music.get_by_id=========薛之谦
Music[2]=========2
Music[2]=========薛之谦
'''
def query_by_select():
tmp_ms = Music.select().execute()
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
4===故乡的云===费翔===0
5===诺言Jason===青城山下白素贞===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
def query_by_select_field():
tmp_ms = Music.select(Music.id,Music.name,Music.singer,Music._type).execute()
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
4===故乡的云===费翔===0
5===诺言Jason===青城山下白素贞===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
def query_by_select_data1():
tmp_ms = Music.select().where(Music.id>5)
return tmp_ms
'''
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
def query_by_select_data2():
tmp_ms = Music.select().where((Music.id>5) & (Music.singer == 'By2'))
return tmp_ms
'''
7===爱丫爱丫===By2===0
'''
def query_by_select_data3():
tmp_ms = Music.select().where((Music.id>5) | (Music.singer == '林志炫'))
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
6===勇敢的幸福===Sweety===0
7===爱丫爱丫===By2===0
8===我也曾像你一样===马天宇===0
'''
def query_by_select_like():
tmp_ms = Music.select().where(Music.name.contains('你'))
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
8===我也曾像你一样===马天宇===0
'''
def query_by_select_order():
tmp_ms = Music.select().order_by(Music.id)
tmp_ms = Music.select().order_by(Music.id.asc())
tmp_ms = Music.select().order_by(+Music.id)
tmp_ms = Music.select().order_by(Music.id.desc())
tmp_ms = Music.select().order_by(-Music.id)
return tmp_ms
def query_by_select_page():
tmp_ms = Music.select().paginate(1,3)
return tmp_ms
'''
1===你是我左边的风景===林志炫===0
2===把你揉碎捏成苹果===薛之谦===0
3===游戏人间===童安格===0
'''
if __name__ == '__main__':
tmp = query_by_select()
tmp = query_by_select_field()
tmp = query_by_select_data1()
tmp = query_by_select_data2()
tmp = query_by_select_data3()
tmp = query_by_select_like()
tmp = query_by_select_order()
tmp = query_by_select_page()
for m in tmp:
print(f'{m.id}==={m.name}==={m.singer}==={m._type}')