安装Gino
需要安装Gino框架,可以使用pip工具进行安装:
pip install gino
连接数据库
Gino支持多种数据库连接方式,包括直接连接和通过SQLAlchemy连接,以下是通过直接连接的方式,使用Gino连接PostgreSQL数据库:
from gino import Gino 创建一个Gino实例 gino = Gino() 连接到PostgreSQL数据库 gino.connect("postgresql://username:password@localhost:5432/database_name")
username
和password
是数据库的用户名和密码,localhost
是数据库的主机名,5432
是数据库的端口号,database_name
是数据库的名称。
定义模型
在使用Gino之前,需要定义模型,模型是一个Python类,它描述了数据库中的表结构,以下是一个简单的模型定义示例:
from gino import Model, Column, Integer, String, DateTime class User(Model): id = Column(Integer, primary_key=True) name = Column(String) email = Column(String, unique=True) created_at = Column(DateTime, default=datetime.datetime.now)
在这个示例中,User
模型描述了数据库中的用户表,包括用户ID、用户名、电子邮件和创建时间。id
列是主键,email
列是唯一的。
创建表
在连接到数据库并定义模型后,需要创建表,可以通过调用Gino的create_all()
方法创建所有定义的表:
gino.create_all()
插入数据
插入数据是数据库操作中最常见的操作之一,以下是将数据插入到User
表中的示例:
user = User(name="John", email="john@example.com") gino.insert(user)
在这个示例中,创建了一个User
对象,并将其插入到数据库中,Gino会自动处理SQL查询并插入数据。
查询数据
查询数据是数据库操作中的另一个常见操作,以下是从User
表中查询所有用户的示例:
users = gino.select(User) for user in users: print(user.name, user.email)
在这个示例中,使用Gino的select()
方法从User
表中查询所有用户,并打印每个用户的用户名和电子邮件。
更新数据
更新数据是数据库操作中的一个重要部分,以下是将用户ID为1的用户的电子邮件更新为"[newemail@example.com](mailto:newemail@example.com)"的示例:
user = gino.select(User).where(User.id == 1).first() # 查询用户ID为1的用户 user.email = "newemail@example.com" # 更新电子邮件地址 gino.update(user) # 更新数据到数据库
在这个示例中,首先通过查询条件获取用户ID为1的用户,然后更新其电子邮件地址,最后将其更新到数据库中,Gino会自动处理SQL查询并更新数据。