sqlalchemy.create_engine 怎么使用
时间: 2024-05-08 20:17:48 浏览: 237
使用 `create_engine` 方法创建 SQLAlchemy 引擎对象可以连接到数据库,并允许你执行 SQL 查询和操作数据库。
以下是使用 `create_engine` 方法的基本语法:
```python
from sqlalchemy import create_engine
# 创建一个引擎对象
engine = create_engine('dialect+driver://user:password@host:port/database')
```
- `dialect`:数据库类型,例如 `mysql`、`sqlite`、`postgresql` 等。
- `driver`:驱动程序,帮助 SQLAlchemy 与数据库交互。
- `user`:用户名。
- `password`:密码。
- `host`:连接的主机名。
- `port`:连接的端口号。
- `database`:要连接的数据库名称。
例如,连接到本地 SQLite 数据库:
```python
from sqlalchemy import create_engine
# 创建一个引擎对象
engine = create_engine('sqlite:///example.db')
```
连接到远程 MySQL 数据库:
```python
from sqlalchemy import create_engine
# 创建一个引擎对象
engine = create_engine('mysql+pymysql://user:password@host:port/database')
```
连接到远程 PostgreSQL 数据库:
```python
from sqlalchemy import create_engine
# 创建一个引擎对象
engine = create_engine('postgresql://user:password@host:port/database')
```
连接到远程 Oracle 数据库:
```python
from sqlalchemy import create_engine
# 创建一个引擎对象
engine = create_engine('oracle://user:password@host:port/database')
```
创建完引擎对象后,你可以使用 `execute` 方法来执行 SQL 查询和操作数据库。例如,执行一个查询:
```python
result = engine.execute('SELECT * FROM my_table')
```
这将返回一个 `ResultProxy` 对象,你可以使用它来获取查询结果。例如,获取查询结果的所有行:
```python
rows = result.fetchall()
```
或获取查询结果的第一行:
```python
row = result.fetchone()
```
你还可以使用 `execute` 方法来执行 SQL 插入、更新或删除操作。例如,插入一行数据:
```python
engine.execute("INSERT INTO my_table (column1, column2) VALUES ('value1', 'value2')")
```
更多关于 SQLAlchemy 的详细信息请参考官方文档:https://docs.sqlalchemy.org/en/14/core/engines.html
阅读全文