当前位置: 首页 > news >正文

软件测试|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,建立数据库连接,创建表格,插入、查询、更新和删除数据,希望本文可以帮到大家。

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

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

相关文章:

  • Ftrans飞驰云联荣获“CSA 2023安全创新奖”
  • Spark详解
  • 环境变量详细说明
  • 牛刀小试---二分查找(C语言)
  • C#--核心
  • 生信技能36 - 获取染色体短臂、长臂和跨短臂长臂的全部区带列表
  • C#: 结构体 struct 应用笔记
  • sqlserver2012 跨服务器查询
  • 微信公众号注册(详细图文教程)
  • 【Linux】第二十九站:再谈进程地址空间
  • 【架构设计】单体软件向微服务化演变
  • 随机获取某个集合中的某个元素,多次获取时不重复
  • 【论文阅读】Latent Consistency Models (LDMs)、LCM-LoRa
  • 2-认识小程序项目
  • Python网络爬虫进阶:自动切换HTTP代理IP的应用
  • 高纯气体市场调研:预计2029年将达到331亿美元
  • 【K12】Python写串联电阻问题的求解思路解析
  • TinyLog iOS v3.0接入文档
  • 【UE5】交互式展厅数字博物馆交互是开发实战课程
  • Linux下的HTTPS配置:从证书到安全连接
  • “80后”北京市东城区副区长王智勇获公示拟任区委常委
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 一海南救护车在西藏无任务拉警笛开道,墨脱警方:已处罚教育
  • 脑血管支架:救命神器还是定时炸弹?听听医生的大实话
  • 男子退机票被收90%的手续费,律师:虽然合规,但显失公平
  • 学者纠错遭网暴,人民锐评:“饭圈”该走出畸形的怪圈了