软件测试|SQLAlchemy环境安装与基础使用

简介

SQLAlchemy是一个强大的Python库,用于与关系型数据库进行交互。它提供了高度抽象的对象关系映射(ORM)工具,允许使用Python对象来操作数据库,而不必编写原生SQL查询。本文将介绍如何安装SQLAlchemy并进行一些基本的用法示例。

安装SQLAlchemy

SQLAlchemy是python的第三方库,我们可以使用pip命令来安装这个库,安装命令如下:

pip install SQLAlchemy

注:SQLAlchemy需要python3.6或更新版本的python才可以安装

安装完SQLAlchemy后,我们还需要安装驱动程序,SQLAlchemy本身并不包含数据库驱动程序,我们需要根据数据库选择适当的驱动。例如,如果我们使用MySQL,可以安装mysql-connector-python

pip install mysql-connector-python

注:如果我们使用的是SQLite,则无需额外安装驱动程序,因为SQLite已经包含在Python标准库中

连接数据库

在使用SQLAlchemy之前,我们需要建立与数据库的连接。这需要配置数据库的连接字符串,其中包括数据库类型、主机、端口、用户名和密码。下面是一个连接到SQLite数据库的示例:

from sqlalchemy import create_engine

# SQLite连接字符串,数据库文件名为mydatabase.db
db_url = "sqlite:///mydatabase.db"
engine = create_engine(db_url)

# 建立连接
connection = engine.connect()

新建表格

在数据库中创建表格需要使用SQLAlchemydeclarative_base和表格定义类。下面是一个创建用户表格的示例:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    username = Column(String(50))
    email = Column(String(100))

# 创建表格
Base.metadata.create_all(engine)

插入数据

使用SQLAlchemy,我们可以轻松地插入数据。下面是一个插入用户数据的示例:

from sqlalchemy.orm import sessionmaker

# 创建一个会话
Session = sessionmaker(bind=engine)
session = Session()

# 插入一条用户记录
new_user = User(username='theshy', email='theshy@ig2018.com')
session.add(new_user)
session.commit()

查询数据

我们可以使用SQLAlchemy进行各种查询操作。下面是一个简单的查询用户数据的示例:

# 查询所有用户
all_users = session.query(User).all()

# 根据条件查询
john_doe = session.query(User).filter_by(username='theshy').first()

更新和删除数据

更新和删除数据也很容易。示例如下:

# 更新数据
john_doe.email = 'theshy@wbg2023.com'
session.commit()

# 删除数据
session.delete(theshy)
session.commit()

总结

SQLAlchemy是一个功能强大的Python库,用于管理关系型数据库。本文中,我们介绍了如何安装SQLAlchemy,建立数据库连接,创建表格,插入、查询、更新和删除数据,希望本文可以帮到大家。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-17 13:32:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-17 13:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-17 13:32:03       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-17 13:32:03       20 阅读

热门阅读

  1. ConcurrentHashMap源码解析

    2024-01-17 13:32:03       43 阅读
  2. route和router的区别

    2024-01-17 13:32:03       32 阅读
  3. C++中的符号->

    2024-01-17 13:32:03       25 阅读
  4. messages,CentOS 7不收集日志或不存在 /var/log/messages

    2024-01-17 13:32:03       27 阅读
  5. 【软件设计模式之单例模式】

    2024-01-17 13:32:03       34 阅读
  6. 蓝桥杯 第三场 小白入门赛

    2024-01-17 13:32:03       39 阅读
  7. Leetcode 474 一和零

    2024-01-17 13:32:03       31 阅读
  8. 自己的第一篇博客——回顾和展望

    2024-01-17 13:32:03       35 阅读