📅  最后修改于: 2023-12-03 15:20:18.080000             🧑  作者: Mango
SQLAlchemy是一个Python SQL工具包,可以实现SQL表达式、驱动程序和对象关系映射器。该工具包支持多种数据库,包括PostgreSQL,MySQL和SQLite。这里我们将介绍如何使用SQLAlchemy核心连接到数据库。
pip install sqlalchemy
使用SQLAlchemy的核心是创建数据库连接,可以使用create_engine()方法创建一个数据库引擎。下面是一个连接到SQLite数据库的示例:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///example.db')
这里我们使用了SQLite数据库,并创建了一个名为example.db的数据库文件。连接字符串的格式是:
<dialect>://<user>:<password>@<host>:<port>/<database>
其中,dialect指的是数据库类型(例如sqlite),user是用户名,password是密码,host是主机名,port是端口号,database是数据库名。连接字符串还可以包含一些可选参数,例如charset、use_unicode等。
连接到数据库之后,可以创建表格。此处我们将介绍如何使用SQLAlchemy的核心创建表格,但还有更高级的方法使用SQLAlchemy的ORM创建表格。这里我们在example.db数据库中创建一个名为users的表格,包含id和name两个字段:
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String)
)
metadata.create_all(engine)
首先需要先创建一个元数据对象metadata,然后创建一个Table对象表示表格,其中包含表格的名字和表格中的字段。在这里,我们创建了一个名为users的表格,其中包含id和name两个字段。然后使用create_all()方法创建表格。
创建表格之后,可以向表格中插入数据。这里我们将向表格中插入一条数据:
conn = engine.connect()
conn.execute(users.insert(), [{'name': 'Alice'}])
conn变量表示了一个数据库连接,使用execute()方法执行SQL语句,这里使用了insert()方法表示插入操作,并且传入了一个字典,该字典包含了要插入的数据(例如{name: 'Alice'})。
查询数据可以使用SQLAlchemy的查询API,例如:
result = conn.execute(users.select())
for row in result:
print(row['id'], row['name'])
这里我们使用select()方法查询表格中的数据,并使用execute()方法执行查询。查询结果可以使用for循环进行遍历,每次遍历返回一行数据,可以使用row[column_name]获取数据。
使用完数据库连接之后应该关闭连接,例如:
conn.close()
可以使用with语句连接数据库,避免忘记关闭数据库连接:
with engine.connect() as conn:
conn.execute(...)
本文介绍了如何使用SQLAlchemy核心连接到数据库,并创建表格、插入数据、查询数据等操作。SQLAlchemy还提供了更高级的ORM操作,请参考SQLAlchemy官方文档了解更多信息。