怎么使用SQLAlichemy
时间: 2024-05-10 13:18:22 浏览: 2
SQLAlchemy是一个Python SQL工具包和ORM框架,可以让你更方便地与关系型数据库交互。以下是一个简单的例子,演示如何使用SQLAlchemy连接到MySQL数据库,并创建一个用户表。
首先,需要安装SQLAlchemy和MySQL驱动程序。可以使用pip命令来安装它们:
```
pip install sqlalchemy
pip install pymysql
```
接下来,创建一个Python脚本,并导入必要的库:
```python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
```
然后,使用create_engine函数创建一个数据库引擎,连接到MySQL数据库:
```python
engine = create_engine('mysql+pymysql://username:password@hostname/database_name')
```
其中,"username"和"password"是连接MySQL数据库的用户名和密码,"hostname"是MySQL服务器的主机名或IP地址,"database_name"是要连接的数据库名称。例如:
```python
engine = create_engine('mysql+pymysql://root:123456@localhost/mydb')
```
创建一个Base类,用于定义ORM映射类:
```python
Base = declarative_base()
```
定义一个User类,继承Base类,并定义了一个users表:
```python
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
```
其中,__tablename__属性指定了数据表的名称,Column类用于定义列,第一个参数指定了列的类型,primary_key=True指定了该列为主键。
创建表格:
```python
Base.metadata.create_all(engine)
```
创建一个Session类,用于创建数据库会话:
```python
Session = sessionmaker(bind=engine)
session = Session()
```
使用session对象插入一条记录:
```python
user = User(name='John', age=25)
session.add(user)
session.commit()
```
使用session对象查询记录:
```python
users = session.query(User).all()
for user in users:
print(user.name, user.age)
```
以上就是一个简单的SQLAlchemy例子,可以通过这个例子了解如何使用SQLAlchemy连接到MySQL数据库,并进行ORM映射和CRUD操作。