ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

peewee

2022-04-25 02:01:38  阅读:184  来源: 互联网

标签:name Pet peewee Person bob where select


1.删除数据库

import os
#删除数据库
if os.path.exists("people.db"):  # 如果文件存在
   # 删除文件,可使用以下两种方法。
   os.remove("people.db")
   pass
else:
   print('no such file')  # 则返回文件不存在

2.创建表

#TODO 数据库名字
db = SqliteDatabase('people.db')

#TODO 创建两张表:Person和Pet
class Person(Model):
   name = CharField()
   birthday = DateField()

   class Meta:
       database = db   #指定数据库

class Pet(Model):
   owner = ForeignKeyField(Person, backref='pets')
   name = CharField()
   animal_type = CharField()

   class Meta:
       database = db
       
#TODO 连接数据库
db.connect()

#TODO 创建两张表Person和Pet
db.create_tables([Person, Pet])

3.添加数据方式

#添加数据方式2::
uncle_bob = Person(name='Bob', birthday=date(2020, 1, 1))
uncle_bob.save() # bob is now stored in the database

#添加数据方式2:
grandma = Person.create(name='Grandma', birthday=date(1935, 3, 1))
herb = Person.create(name='Herb', birthday=date(1950, 5, 5))
herb.save() #用herb.save() 或 grandma.save(),如果都调用,则保存两次

4.查询全部数据

Person.select()

5.条件查询

#条件查询 Person.select().where(条件).get
uncle_bob = Person.select().where(Person.name == 'Bob').get()
print("\nPerson name=Bob Query:")
print(uncle_bob.name, uncle_bob.birthday)

#条件查询 Person.get(条件)
uncle_bob = Person.get(Person.name == 'Bob')
print("\nPerson name=Bob Query:")
print(uncle_bob.name, uncle_bob.birthday)

6.数据修改

grandma=Person.select().where(name = "Grandma")
grandma.name = 'Grandma L.'
grandma.save()

7.数据删除

herb_mittens = Pet.create(owner=herb, name='Mittens', animal_type='cat') #创建数据
herb_mittens.delete_instance() #删除数据

8.高级查询

query = Pet.select().where(Pet.animal_type == 'cat')

9.多表查询join

#多表查询join--方法1
query = (Pet
        .select(Pet, Person)
        .join(Person)
        .where(Pet.animal_type == 'cat'))

#多表查询join--方法2
query = Pet.select().join(Person).where(Person.name == 'Bob')

10查询结果排序

#升序where(xxx.order_by(yyy))
results = Pet.select().where(Pet.owner == uncle_bob).order_by(Pet.name)

#降序where(xxx.order_by(yyy.desc()))
results = Pet.select().where(Pet.owner == uncle_bob).order_by(Pet.name.desc())

11.范围查找

#查找在1940前和1960后出生的人
d1940 = date(1940, 1, 1)
d1960 = date(1960, 1, 1)
query = (Person
        .select()
        .where((Person.birthday < d1940) | (Person.birthday > d1960)))

#查找1940-1960出生的人
query = (Person
        .select()
        .where(Person.birthday.between(d1940, d1960)))
 

标签:name,Pet,peewee,Person,bob,where,select
来源: https://www.cnblogs.com/zouzhibin/p/16188532.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有