简介
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()
新建表格
在数据库中创建表格需要使用SQLAlchemy
的declarative_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
,建立数据库连接,创建表格,插入、查询、更新和删除数据,希望本文可以帮到大家。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。