Peewee与SQLite数据库

Peewee与SQLite数据库

Peewee与SQLite数据库

Peewee是一个轻量级的Python ORM(Object Relational Mapping)库,它可以方便地与不同类型的数据库进行交互。其中,SQLite是一个无需服务器即可使用的轻量级数据库引擎,适合用于小型项目和原型开发。

本文将详细介绍如何使用Peewee库操作SQLite数据库,包括数据库连接、创建表、插入数据、查询数据、更新数据和删除数据等操作。示例代码均基于Python 3.x 版本。

安装Peewee库

首先需要安装Peewee库,可以通过pip进行安装:

pip install peewee

连接SQLite数据库

使用Peewee操作SQLite数据库时,首先需要建立数据库连接。Peewee提供了一个SqliteDatabase类,用于连接SQLite数据库,并创建一个数据库实例。

from peewee import SqliteDatabase

db = SqliteDatabase('my_database.db')

上面代码创建了一个名为my_database.db的SQLite数据库实例。

定义模型类

在Peewee中,模型类是ORM的核心,用于表示数据库中的表结构。每个模型类对应数据库中的一个表,每个模型类的属性对应表的字段。

下面以创建一个学生表为例,定义一个名为Student的模型类:

from peewee import Model, CharField, IntegerField

class Student(Model):
    name = CharField()
    age = IntegerField()

    class Meta:
        database = db  # 与数据库实例关联

Student类继承自Model基类,定义了nameage两个字段,分别对应学生的姓名和年龄。Meta类中指定了数据库实例与该模型类关联。

创建表

在与数据库建立连接并定义模型类后,即可通过调用create_tables()方法来创建表格:

db.connect()
db.create_tables([Student])

上述代码会在数据库中创建一个名为student的表格,该表包含nameage两个字段。

插入数据

数据插入是ORM中一个重要的操作,通过Peewee可以方便地插入数据到数据库中:

# 创建并插入一条数据
student = Student.create(name='Alice', age=20)
student.save()

上述代码首先创建了一个名为Alice年龄为20的学生对象,并将该对象保存到数据库中。

查询数据

Peewee提供了丰富的查询方法,可以方便地检索数据库中的数据:

# 查询所有学生
students = Student.select()
for student in students:
    print(student.name, student.age)

上述代码通过select()方法查询了数据库中的所有学生数据,并逐行打印出姓名和年龄。

另外,Peewee还支持条件查询、排序、分页查询等功能,可以根据不同的需求进行定制化操作。

更新数据

更新数据库中的数据也是常见的操作,Peewee提供了update()方法来实现数据的更新:

# 更新名为'Alice'的学生年龄为25
query = Student.update(age=25).where(Student.name == 'Alice')
query.execute()

上述代码通过update()方法更新了名为Alice的学生的年龄为25

删除数据

删除数据同样是数据库操作中的一个重要环节,Peewee提供了delete_instance()方法来删除数据:

# 删除名为'Alice'的学生
query = Student.delete().where(Student.name == 'Alice')
query.execute()

上述代码删除了名为Alice的学生数据。

总结

通过本文的介绍,我们了解了如何使用Peewee库操作SQLite数据库,包括连接数据库、创建表、插入数据、查询数据、更新数据和删除数据等操作。Peewee提供了丰富的API,简化了与数据库的交互过程,使开发工作更加高效和便捷。在实际项目中,可以根据具体需求进一步扩展和定制化操作,实现灵活的数据管理和操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程