python sqlalchemy 一次创建多个MySQL表
时间: 2023-09-05 16:07:48 浏览: 217
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
可以通过 SQLAlchemy 中的 MetaData 对象和 Table 对象来实现一次创建多个 MySQL 表的操作。具体步骤如下:
1. 导入 SQLAlchemy 和 MySQL 驱动程序:
```python
import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
import pymysql
pymysql.install_as_MySQLdb()
```
2. 创建与数据库的连接:
```python
engine = create_engine('mysql://user:password@host:port/dbname')
conn = engine.connect()
```
3. 创建 MetaData 对象:
```python
metadata = MetaData()
```
4. 创建多个 Table 对象:
```python
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50)),
Column('email', String(50)))
books = Table('books', metadata,
Column('id', Integer, primary_key=True),
Column('title', String(50)),
Column('author', String(50)))
```
5. 使用 MetaData 对象中的 create_all() 方法创建表:
```python
metadata.create_all(engine)
```
此时,就会在数据库中创建名为 users 和 books 的两个表。
注意:在运行 create_all() 方法之前,需要确保先创建数据库,否则会报错。同时,如果数据库中已经存在同名的表,也会报错。此外,创建多个表时,需要确保每个表的名称和列名都不重复。
阅读全文