其他分享
首页 > 其他分享> > peewee

peewee

作者:互联网

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