关键词

Python 数据库操作 SQLAlchemy的示例代码

下面是使用Python操作数据库的SQLAlchemy库的示例代码攻略。

安装SQLAlchemy库

首先需要安装SQLAlchemy库。可以使用pip包管理工具进行安装,命令如下:

pip install sqlalchemy

连接数据库

连接数据库需要根据具体数据库类型进行不同的配置。下面是连接MySQL数据库的示例代码:

from sqlalchemy import create_engine

# 连接MySQL数据库
engine = create_engine('mysql+pymysql://root:password@localhost:3306/testdb')

其中,mysql+pymysql是指连接MySQL数据库,root是用户名,password是密码,localhost是连接的主机地址,3306是端口号,testdb是连接的数据库名。

创建表、插入、更新、查询数据

下面有两个示例说明,分别演示了如何创建表、插入、更新、查询数据。

示例 1:创建表,并插入数据

下面的代码演示了如何创建一个用户信息表,并使用insert方法插入一条数据。

from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

# 连接MySQL数据库
engine = create_engine('mysql+pymysql://root:password@localhost:3306/testdb')

# 定义表格
metadata = MetaData()
user_table = Table('user', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String(20)),
    Column('age', Integer),
    Column('email', String(50)),
    Column('phone', String(15))
)

# 创建表格
metadata.create_all(engine)

# 创建插入数据对象
ins = user_table.insert().values(name='Tom', age=18, email='tom@example.com', phone='123456789')

# 执行插入数据操作
with engine.connect() as conn:
    result = conn.execute(ins)

# 输出插入结果
print(result.rowcount)

示例 2:更新数据,并查询数据

下面的代码演示了如何更新用户信息表中的一条记录,并使用select方法查询该表中的所有记录。

from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData, select

# 连接MySQL数据库
engine = create_engine('mysql+pymysql://root:password@localhost:3306/testdb')

# 定义表格
metadata = MetaData()
user_table = Table('user', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String(20)),
    Column('age', Integer),
    Column('email', String(50)),
    Column('phone', String(15))
)

# 创建更新数据对象
upd = user_table.update().where(user_table.c.name == 'Tom').values(age=19)

# 执行更新数据操作
with engine.connect() as conn:
    result = conn.execute(upd)

# 查询数据
select_stmt = select([user_table])
with engine.connect() as conn:
    result = conn.execute(select_stmt)

# 输出查询结果
for row in result:
    print(row)

以上是使用Python操作数据库的SQLAlchemy库的示例代码攻略,希望能对你有所帮助。

本文链接:http://task.lmcjl.com/news/5074.html

展开阅读全文